Questions tagged «linq»

语言集成查询(LINQ)是Microsoft .NET Framework组件,它向.NET语言添加了本机数据查询功能。请考虑在适当的时候使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

13
将委托包装在IEqualityComparer中
多个Linq.Enumerable函数采用IEqualityComparer<T>。是否有一个方便的包装器类适合a delegate(T,T)=>bool实现IEqualityComparer<T>?编写一个代码很容易(如果您忽略定义正确的哈希码的问题),但是我想知道是否有一个现成的解决方案。 具体来说,我想对Dictionarys 进行设置操作,仅使用Key定义成员资格(同时根据不同规则保留值)。
127 .net  linq  delegates 

13
ASP.NET MVC如何将ModelState错误转换为json
您如何获得所有ModelState错误消息的列表?我找到了以下代码来获取所有键:(返回带有ModelState错误的键列表) var errorKeys = (from item in ModelState where item.Value.Errors.Any() select item.Key).ToList(); 但是,如何将错误消息显示为IList或IQueryable? 我可以去: foreach (var key in errorKeys) { string msg = ModelState[error].Errors[0].ErrorMessage; errorList.Add(msg); } 但这就是手动完成-当然有办法使用LINQ吗?.ErrorMessage属性太远了,我不知道如何编写LINQ ...

11
LINQ to Entities无法识别方法'System.String ToString()',并且该方法无法转换为商店表达式
我正在将一些东西从一台mysql服务器迁移到一台sql服务器,但是我不知道如何使此代码起作用: using (var context = new Context()) { ... foreach (var item in collection) { IQueryable<entity> pages = from p in context.pages where p.Serial == item.Key.ToString() select p; foreach (var page in pages) { DataManager.AddPageToDocument(page, item.Value); } } Console.WriteLine("Done!"); Console.Read(); } 当它进入第二秒时,foreach (var page in pages)它抛出一个异常,说: LINQ to Entities无法识别方法'System.String ToString()',该方法无法转换为商店表达式。 …
126 c#  mysql  sql  linq 

7
LINQ是什么,它有什么作用?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 7年前关闭。 什么是LINQ?我知道它是用于数据库的,但是它有什么作用?
126 c#  linq 


4
如何使用linq表达式展平嵌套对象
我正在尝试展平这样的嵌套对象: public class Book { public string Name { get; set; } public IList<Chapter> Chapters { get; set; } } public class Chapter { public string Name { get; set; } public IList<Page> Pages { get; set; } } public class Page { public string Name { get; set; } …
125 c#  .net  vb.net  linq 

8
LINQ语句比“ foreach”循环快吗?
我正在编写一个“网格渲染”管理器,并认为最好将所有使用同一着色器的网格进行分组,然后在我通过该着色器通道时进行渲染。 我目前正在使用foreach循环,但想知道使用LINQ是否可以提高性能?
124 c#  performance  linq  foreach 

4
LINQ OrderBy与ThenBy
谁能解释一下两者之间的区别: tmp = invoices.InvoiceCollection .OrderBy(sort1 => sort1.InvoiceOwner.LastName) .OrderBy(sort2 => sort2.InvoiceOwner.FirstName) .OrderBy(sort3 => sort3.InvoiceID); 和 tmp = invoices.InvoiceCollection .OrderBy(sort1 => sort1.InvoiceOwner.LastName) .ThenBy(sort2 => sort2.InvoiceOwner.FirstName) .ThenBy(sort3 => sort3.InvoiceID); 如果我想按3项数据排序,哪种方法正确?
123 linq 



16
使用LINQ检查列表是否为空
确定列表是否为空的“最佳”方式(兼顾速度和可读性)是什么?即使列表是类型IEnumerable<T>并且没有Count属性。 现在,我在这之间折腾: if (myList.Count() == 0) { ... } 还有这个: if (!myList.Any()) { ... } 我的猜测是第二个选项更快,因为它会在看到第一个项目后立即返回结果,而第二个选项(对于IEnumerable)将需要访问每个项目以返回计数。 话虽这么说,第二种选择对您来说可读吗?你更喜欢哪个?还是您可以想到一种更好的方法来测试空列表? Edit @lassevk的响应似乎是最合乎逻辑的,再加上一些运行时检查,以便在可能的情况下使用缓存的计数,如下所示: public static bool IsEmpty<T>(this IEnumerable<T> list) { if (list is ICollection<T>) return ((ICollection<T>)list).Count == 0; return !list.Any(); }
122 c#  .net  linq  list 

4
根据带有linq的ID列表选择多个记录
我有一个包含UserProfile表ID的列表。我如何可以选择所有UserProfiles的基于身份的名单我在得到上var使用LINQ? var idList = new int[1, 2, 3, 4, 5]; var userProfiles = _dataContext.UserProfile.Where(......); 我被困在这里。我可以使用for循环等执行此操作。但是,我宁愿使用LINQ。
122 c#  linq 




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.