Questions tagged «linq»

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

5
序列不包含匹配元素
我有一个asp.net应用程序,其中使用linq进行数据操作。运行时,出现异常“序列不包含匹配的元素”。 if (_lstAcl.Documents.Count > 0) { for (i = 0; i <= _lstAcl.Documents.Count - 1; i++) { string id = _lstAcl.Documents[i].ID.ToString(); var documentRow = _dsACL.Documents.First(o => o.ID == id); if (documentRow !=null) { _lstAcl.Documents[i].Read = documentRow.Read; _lstAcl.Documents[i].ReadRule = documentRow.ReadRule; _lstAcl.Documents[i].Create= documentRow.Create; _lstAcl.Documents[i].CreateRule = documentRow.CreateRule; _lstAcl.Documents[i].Update = documentRow.Update; _lstAcl.Documents[i].UpdateRule = documentRow.UpdateRule; …
112 c#  linq  exception 

4
LINQ顺序由布尔
我有一个linq查询,我想按f.bar(它是一个字符串)进行排序,但我也想首先按f.foo(它是一个布尔字段)对其进行排序。像下面的查询。 (from f in foo orderby f.foo, f.bar select f) 尽管可以编译,但无法正常工作。它只是通过f.bar来排序,而忽略布尔字段。 我知道自己很傻,但是我需要怎么做才能获得这种行为? 谢谢
111 c#  linq 

5
如何排序通用列表DESC和ASC?
如何排序通用列表DESC和ASC?使用LINQ和不使用LINQ?我正在使用VS2008。 class Program { static void Main(string[] args) { List<int> li = new List<int>(); li.Add(456); li.Add(123); li.Add(12345667); li.Add(0); li.Add(1); li.Sort(); foreach (int item in li) { Console.WriteLine(item.ToString() + "\n"); } Console.ReadKey(); } }
110 c#  .net  linq 

3
为什么ToLookup和GroupBy不同?
.ToLookup<TSource, TKey>返回ILookup<TKey, TSource>。ILookup<TKey, TSource>还实现接口IEnumerable<IGrouping<TKey, TSource>>。 .GroupBy<TSource, TKey>返回IEnumerable<IGrouping<Tkey, TSource>>。 ILookup具有方便的索引器属性,因此可以类似字典(或类似查找)的方式使用,而GroupBy则不能。没有索引器的GroupBy很难使用。然后,您可以引用返回对象的唯一方法是通过遍历它(或使用其他LINQ扩展方法)。换句话说,在GroupBy工作的任何情况下,ToLookup也会工作。 所有这些使我想到了一个问题,为什么我会一直不喜欢GroupBy?为什么要存在?
110 c#  linq 

5
序列包含多个元素
我在通过Linq获取类型为“ RhsTruck”的列表并使它们显示时遇到一些问题。 RhsTruck仅具有属性Make,Model,Serial等... RhsCustomer具有属性CustomerName,CustomerAddress等... 我不断收到错误消息“序列包含多个元素”。有任何想法吗?我是否以错误的方式处理此问题? public RhsCustomer GetCustomer(string customerNumber) { using (RhsEbsDataContext context = new RhsEbsDataContext() ) { RhsCustomer rc = (from x in context.custmasts where x.kcustnum == customerNumber select new RhsCustomer() { CustomerName = x.custname, CustomerAddress = x.custadd + ", " + x.custcity CustomerPhone = x.custphone, CustomerFax = x.custfax …
110 c#  .net  asp.net  linq 

4
Linq到EntityFramework DateTime
Наэтотвопросестьответына 堆栈溢出нарусском:LINQ到实体无法识别方法'的System.DateTime AddDays(双人间)' 在我的应用程序中,我正在使用实体框架。 我的桌子 -Article -period -startDate 我需要匹配的记录=> DateTime.Now > startDate and (startDate + period) > DateTime.Now 我尝试了这段代码,但现在可以正常工作了 Context.Article .Where(p => p.StartDate < DateTime.Now) .Where(p => p.StartDate.AddDays(p.Period) > DateTime.Now) 当我运行代码时,发生以下异常 LINQ to Entities无法识别方法'System.DateTime AddDays(Double)',并且该方法无法转换为商店表达式。

2
C#/ Linq:是否将映射函数应用于IEnumerable中的每个元素?
我一直在寻找一种使用映射函数(以与Linq兼容的方式)将IEnumerable的每个元素转换为其他内容的方法,但是我什么都没找到。 对于一个(非常简单的)示例,它应该能够执行以下操作 IEnumerable<int> integers = new List<int>() { 1, 2, 3, 4, 5 }; IEnumerable<string> strings = integers.Transform(i => i.ToString()); 但是我什么都没找到。我的意思是,编写一个扩展方法来完成此任务非常简单(基本上,它所需要的只是将源枚举器包装到一个新类中,然后编写一些样板代码来委派对其的调用),但是我希望这是一个相当基本的操作,我自己编写它就像重新发明轮子一样-我无法撼动自己应该使用内置方法的感觉,而我实在太盲目了它。 那么... Linq中有什么可以让我做上面描述的事情?
107 c#  linq 


5
AsQueryable()的目的是什么?
这样做的目的AsQueryable()仅仅是为了让您可以传递IEnumerable可能期望的方法IQueryable,还是有一个有用的理由表示IEnumerable为IQueryable?例如,是否应该针对以下情况: IEnumerable<Order> orders = orderRepo.GetAll(); // I don't want to create another method that works on IEnumerable, // so I convert it here. CountOrders(orders.AsQueryable()); public static int CountOrders(IQueryable<Order> ordersQuery) { return ordersQuery.Count(); } 还是实际上使它做了一些不同的事情: IEnumerable<Order> orders = orderRepo.GetAll(); IQueryable<Order> ordersQuery = orders.AsQueryable(); IEnumerable<Order> filteredOrders = orders.Where(o => o.CustomerId == 3); …

4
通过分组在列表上创建字典
我在列表中有以下对象: public class DemoClass { public int GroupKey { get; set; } public string DemoString { get; set; } public object SomeOtherProperty { get; set; } } 现在,我要从中创建以下字典: Dictionary<int, List<DemoClass>> 我想List<DemoClass>按属性将分组GroupKey,但我不知道该如何完成以及是否有帮助。 经过一番思考,我通过以下方式实现了所需的行为: var groupedDemoClasses = from demoClass in mySepcialVariableWhichIsAListOfDemoClass group demoClass by demoClass.GroupKey into groupedDemoClass select groupedDemoClass; var neededDictionary = …
106 c#  .net  linq  .net-3.5 

2
是Linq还是Lambda?
我知道这是Linq: var _Results = from item in _List where item.Value == 1 select item; 我知道这是Lambda: var _Results = _List.Where(x => x.Value == 1); 编者注:以上不仅是Lambda,还在于使用“方法语法”的Linq,其谓词是Lambda。需要明确的是,以上两个示例都是Linq(我的原始帖子不正确,但是我留下了错误以说明提示问题的困惑)。 但是Linq是Lambda的子集还是什么? 为什么会有两个看似相同的技术? 是否有技术上的理由选择一个?
105 c#  linq  lambda 

4
C#将Lambda表达式作为方法参数传递
我有一个lambda表达式,希望能够传递和重用。这是代码: public List<IJob> getJobs(/* i want to pass the lambda expr in here */) { using (SqlConnection connection = new SqlConnection(getConnectionString())) { connection.Open(); return connection.Query<FullTimeJob, Student, FullTimeJob>(sql, (job, student) => { job.Student = student; job.StudentId = student.Id; return job; }, splitOn: "user_id", param: parameters).ToList<IJob>(); } 这里的关键是,我希望能够将在此使用的lambda表达式传递到调用此代码的方法中,以便我可以重用它。lambda表达式是我的.Query方法中的第二个参数。我假设我想使用Action或Func,但是我不太确定此语法是什么或它如何工作。有人可以给我一个例子吗?
105 c#  linq  lambda 

7
Linq代码选择一项
我发现自己编写了很多这样的代码来选择一个匹配的项目 var item = (from x in Items where x.Id == 123 select x).First(); 有没有更干净的方法可以做到?还是像我将要得到的那样简洁? 编辑:应该说“使用linq语法的更清洁的方式”。我已经知道了lambda语法,并且开始看起来这实际上是唯一的方法。我确实得到了一些有用的信息,所以感谢所有回答。
105 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.