草庐IT

c# - 使用 LINQ to Entities( Entity Framework )比较日期

我需要从我的数据库中返回一个项目列表,这些项目在项目提供的日期的预先指定的时间到期。我的错误代码如下:returnAll().Where(o=>newDateTime(o.expiry_date.Year,o.expiry_date.Month,o.expiry_date.Day,17,30,0)>=DateTime.Now)我得到的错误是:LINQtoEntities仅支持无参数构造函数和初始化器有谁知道我该如何解决这个问题? 最佳答案 使用EntityFunctions反而。也许CreateDateTime方法。所以可能是这样的

c# - Enum.GetValues() 上的 OrderBy

我正在从enum中填充MVC4中的DropDownList,我想对枚举值从大到小进行排序。但是,似乎没有直接的方法来解决这个问题。目前,我正在使用此代码添加到字典中,键是ID,值是显示文本:varpriorities=Enum.GetValues(typeof(Models.Priority)).OfType().ToList();for(inti=priorities.Count-1;i>=0;i--){Models.Prioritypriority=priorities[i];prioritiesDictionary.Add((int)priority,"Priority"+((i

c# - Linq 返回字符串

我不确定为什么以下内容不以字符串形式返回Vend的值。当我检查vend的值时,它说:System.Data.Objects.ObjectQuery``1[System.String]stringvend=(fromvndindb.Vendorswherevnd.VendorID==idselectvnd.VendorName).ToString();当我查看vend的值时,它不是我所期望的 最佳答案 你得到一个IQueryable从你查询回来。您需要First或Single或其他东西:stringvend=(fromvndindb.

c# - 使用 Enumerable.OfType<T>() 或 LINQ 查找特定类型的所有子控件

存在MyControl1.Controls.OfType()仅通过初始集合搜索,不进入child。是否可以使用Enumerable.OfType()找到特定类型的所有子控件?或LINQ不写自己的递归方法?喜欢this. 最佳答案 我使用扩展方法来展平控制层次结构,然后应用过滤器,所以这是使用自己的递归方法。方法是这样的publicstaticIEnumerableFlattenChildren(thisControlcontrol){varchildren=control.Controls.Cast();returnchildren

c# - 使用 OrderBy 对列表进行排序

为什么下面的代码不能对我的列表进行排序?Listlst=newList(){"bac","abc","cab"};lst.OrderBy(p=>p.Substring(0)); 最佳答案 因为OrderBy返回IOrderedEnumerable你应该这样做:lst=lst.OrderBy(p=>p.Substring(0)).ToList();您还可以执行以下操作:lst.Sort(); 关于c#-使用OrderBy对列表进行排序,我们在StackOverflow上找到一个类似的问题:

c# - 将 linq 查询转换为字符串数组 - C#

将单列linq查询转换为字符串数组的最有效方法是什么?privatestring[]WordList(){DataContextdb=newDataContext();varlist=fromxindb.Wordsorderbyx.Wordascendingselectnew{x.Word};//returnstringarrayhere}注意-x.Word是一个字符串 最佳答案 我更喜欢lambda风格,你真的应该处理你的数据上下文。privatestring[]WordList(){using(DataContextdb=new

c# - LINQ 如何在 lambda 表达式中选择超过 1 个属性?

我们经常使用下面的lambda表达式MyList.Select(x=>x.Id).ToList();是否可以使用lambda表达式获得超过1个属性?例如来自MyList的Id和Name?我知道我可以使用以下语法:(fromiteminMyListselectnew{item.Id,item.Name}).ToList();我可以使用lambda表达式做同样的事情吗? 最佳答案 MyList.Select(x=>new{x.Id,x.Name}).ToList(); 关于c#-LINQ如何

c# - 使用 C# 和 LINQ 比较两个大型字符串列表的最佳方法?

我有一个很大的列表(约110,000个字符串),我需要将其与类似大小的列表进行比较。列表A来自1个系统。列表B来自一个SQL表(我只能读取,没有存储过程等)查找列表A中不再存在于列表B中的值的最佳方法是什么?在数组中处理100,000个字符串是否很大?谢谢 最佳答案 所以你有两个这样的列表:ListlistA;ListlistB;然后使用Enumerable.Except:Listexcept=listA.Except(listB).ToList();请注意,如果您想忽略大小写:Listexcept=listA.Except(lis

c# - 通用列表到 EntitySet 的转换

如何转换System.Collections.Generic.List到System.Data.Linq.EntitySet? 最佳答案 不要认为你可以转换List到EntitySet但您可以将列表的内容放入实体集中。varlist=newList{"a","b","c"};varentitySet=newEntitySet();entitySet.AddRange(list);这是一个扩展方法:publicstaticEntitySetToEntitySet(thisIEnumerablesource)whereT:class{v

c# - 将所有 child 放到一个列表中 - 递归 C#

C#|.NET4.5|EntityFramework5我在EntityFramework中有一个类,如下所示:publicclassLocation{publiclongID{get;set;}publiclongParentID{get;set;}publicListChildren{get;set;}}ID是位置的标识符,ParentID将其链接到父位置,而Children包含父位置的所有子位置。我正在寻找一种简单的方法,可能是递归的,将所有“位置”及其子项都放到一个包含Location.ID的列表中。我在递归地概念化这个问题时遇到了麻烦。感谢您的帮助。这是我目前所拥有的,它是对实