小编Jus*_*ins的帖子

将List转换为IEnumerable <SelectListItem>

这里有棘手的问题.我正在尝试将列表中的项目转换为IEnumerable<SelectListItem>.

清单

dynamicTextInDatabase只返回我的数据库中使用的所有枚举.目前只返回1和2.数据类simple包含一个int值.

dynamicTextEnumsInDatabase 与实际存储我的枚举的类中的列表相同.

dynamicTextEnumsAll是我的应用程序中可用的所有枚举的列表.目前:1,2和3.

dynamicTextEnumsAvaiable是所有未使用的枚举的列表.它组合了所有枚举,然后删除数据库列表中的那些.

我需要dynamicTextEnumsAvaiable通过ViewBag 传递给我的View以显示在下拉列表中.但是,它必须是IEnumerable<SelectListItem>而不是List.

        var dynamicTextInDatabase = new List<DynamicTextEnumData>();
        var dynamicTextEnumsInDatabase = new List<DynamicTextEnum>();
        var dynamicTextEnumsAll = new List<DynamicTextEnum>();
        IEnumerable<SelectListItem> list;

        using (var proxy = new Proxy<IDynamicText>())
        {
            dynamicTextInDatabase = proxy.Channel.DynamicTextGetActiveEnums(Helper.GetCallingUser());
        }

        foreach (DynamicTextEnumData item in dynamicTextInDatabase)
        {
            var dynamicTextEnum = (DynamicTextEnum)item.DynamicTextEnum;
            dynamicTextEnumsInDatabase.Add(dynamicTextEnum);
        }

        foreach (DynamicTextEnum item in Enum.GetValues(typeof(DynamicTextEnum)))
        {
            dynamicTextEnumsAll.Add(item);
        }

        var dynamicTextEnumsAvaiable = dynamicTextEnumsAll.Except(dynamicTextEnumsInDatabase).ToList();

        if (dynamicTextEnumsAvaiable.Count == 0)
        {
            TempData["Error"] = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc enums

33
推荐指数
3
解决办法
8万
查看次数

在数据库中存储多个枚举的最佳方法

我有一个RoleEnum带有四个值User(1),Supervisor(2),Admin(3)和ITOperator(4)的Enum .我有一个公告表,显然存储公告数据(标题,文本,开始和结束日期).但是,我希望能够添加一个名为Roles的新列,用于定义哪些角色可以查看公告的用户.

通常,当在SQL中存储枚举时,我只使用smallint数据类型,但是在这种情况下这不会起作用,因为可以通过多个角色看到通知.

我正在考虑做的是将Roles列定义为varchar(x),并在存储它们时用逗号分隔它们.但是,我不认为/知道这是否是最好的选择.我不想创建一个新的表来保持一对多的关系.

有任何想法吗?

c# sql enums

5
推荐指数
1
解决办法
2738
查看次数

在两位小数后截断Timespan

我有一个时间跨度显示如下:7.43053333333333.我的目标是简单地将其显示为7.43.

如何在小数位后截断两个第二个值.我尝试使用Math.Round而不是截断,但它会简单地返回7

c#

4
推荐指数
1
解决办法
2811
查看次数

根据日期选择最近的记录

我正在尝试创建一个选择查询,该查询根据日期返回表中的最新记录。基本上任何行的[Date]字段最接近当前日期。

样本数据:

    ID       Content         Date
--------------------------------------------
1   1050    Test Values    2013-11-27 10:46:24.900
2   1051    Test Test      2013-11-27 10:47:43.150
3   1057    Test Testx2    2013-11-27 10:48:22.820
Run Code Online (Sandbox Code Playgroud)

我只想返回这些值

    ID       Content         Date
--------------------------------------------
1   1057    Test Testx2    2013-11-27 10:48:22.820
Run Code Online (Sandbox Code Playgroud)

谢谢!

sql sql-server

2
推荐指数
1
解决办法
1万
查看次数

使用ASP.Net成员资格,获取所有用户

我试图用来Membership.GetAllUsers()创建数据库中所有用户的列表。但是,我有一个模型可以映射用户属性(名字,姓氏,电子邮件等)。

如何将所有用户添加到中List<ManageUserViewModel>

我已经累了:

List<ManageUserViewModel> model = Membership.GetAllUsers();
Run Code Online (Sandbox Code Playgroud)

然后

MembershipUserCollection users = Membership.GetAllUsers();
List<ManageUserViewModel> model = new List<ManageUserViewModel>();

foreach (var item in users)
{
    model.Add(item);
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-membership

2
推荐指数
1
解决办法
8431
查看次数

对于DayOfWeek Enum的每个语句

我有两个DateTime值调用StartDateEndDate.默认情况下,它们只跨越一周的时间,但是,用户可以将它们进一步扩展.

我正在尝试编写一个HTML表,它将在那段时间内插入行.

例如:

foreach DayOfWeek in (StartDate thru EndDate)<br/>
OUTPUT
 <tr>
  <th>[DAYOFWEEK]</th>
 </tr>
Run Code Online (Sandbox Code Playgroud)

c# foreach datetime

0
推荐指数
1
解决办法
355
查看次数