Tag: linq

使用动态linq分组后访问密钥

使用System.Dynamic.Linq我有一个group by语句,如下所示: var rowGrouped = data.GroupBy(rGroup, string.Format(“new({0})”, c)); 其中c只是一个字符串数组,我需要在我的分组中选择。 在这种情况下, GroupBy返回一个IEnumerable (注意:不是IEnumerable因为我们不知道T是什么)。 常规GroupBy将返回System.Collections.Generic.IEnumerable<IGrouping> 现在我的问题是,我如何遍历组,以便我可以访问密钥( Key在IGrouping定义IGrouping但我不知道TKey和TElement 的先验 )? 我最初试过这个: foreach (var row in rowGrouped) 哪个迭代,但我无法访问row.Key (在这种情况下的row是类型object ) 所以我这样做了: foreach (IGrouping row in rowGrouped) 令人惊讶的是,只要钥匙是一根绳子就行了。 但是,如果密钥恰好是数字(例如short ),那么我会收到此错误: Unable to cast object of type ‘Grouping`2[System.Int16,DynamicClass2]’ to type ‘System.Linq.IGrouping`2[System.Object,System.Object]’. 我需要能够遍历rowGrouped并获取每row的Key ,然后遍历每个组中的集合。

我如何区分我的键/值对列表

如果我有一个列表List<KeyValuePair> ex。 [“abc”,”123″] [“asc”,”123″] [“asdgf”,”123″] [“abc”,”123″] 我怎么能分清这个清单呢?

通过打开xml sdk linq查询获取具有行和列位置的excel单元格值

任何人都知道如何通过开放XML SDK 2.0获得excel单元格值,知道行和列位置,例如(A2),通过Linq?

LINQ查询列表中的字典

我有 List selectedOptions; Dictionary masterList; masterList由Keys组成,Keys是selectedoptions值的超集。 现在,我想提取selectedOptions和masterList之间相交键的所有值。 如何构建LINQ查询?

LINQ多对多关系:解决方案?

LINQ到目前为止一直非常优雅,但是为了执行基本的m2m查询,它提供了我无法立即看到的解决方案。 更糟糕的是,虽然它适用于任何其他表关系,但LINQ并没有给我一个关于我的m2m表的类结构的关联。 所以我可以这样做 artwork.artists.where(…) //or artist.Artworks.add(artwork) 但我不能这样做 artwork.artowrks_subjects.tagSubjects.where(…) //or tagSubject.artworks_subjects.add(artwork) 替代文字http://img299.imageshack.us/img299/257/20090902122107.png 是否有解决此限制的常见模式?

您可以在迭代期间在LINQ语句中实时设置/更新值吗?

根据我对其他问题的建议答案…是否可以在LINQ枚举期间更新变量,以便将其用作测试的一部分? 例如,这样的事情可能吗? // Assume limitItem is of type Foo and sourceList is of type List // Note the faux attempt to set limitItemFound in the TakeWhile clause // That is what I’m wondering. sourceList.Reverse() .TakeWhile(o => (o != limitItem) && !limitItemFound; limitItemFound = limitItemFound || (o == limitItem) ) .FirstOrDefault(o => …); 这将使搜索包含limitItem。

entity framework5.0。 我的查询有什么问题?

这是我的代码: public DateTime GibSomeStartDate(IEnumerable partnerNumbers, DateTime startTime) { var contractsStartDate = from contract in this.databaseContext.Contract where partnerNumbers.Contains(contract.Pnr) && contract.SomeDateTime >= startTime select contract.SomeDateTime; } 如果我调用contractsStartDate.Min() ,则会发生exception: Unable to create a null constant value of type ‘System.Collections.Generic.IEnumerable`1’. Only entity types, enumeration types or primitive types are supported in this context. 我的查询有什么问题? contractsStartDate的类型为System.Data.Entity.Infrastructure.DbQuery EF 5.0 databaseContext是System.Data.Entity.DbContext子代

Linq确定一个值是否超过x次

我有一组具有JobCode的对象,该JobCode是一个字符串值。 我们有一个业务规则,在集合中我们应该永远不会有超过4个JobCode相同的元素。 我正在努力解决这个问题,因为通常我会比较列表外部的一些已知值,而不是将列表与自身进行比较。 任何帮助非常感谢。

LINQ to SQL的特性

我遇到了LINQ to SQL的一些特性。 使用相对简单的查询,我想选择一些字段,但将日期字段格式化为字符串,我首先这样做: var list = dataContext.MyLists.Single(x => x.ID == myId); var items = from i in list.MyItems select new { i.ID, i.Sector, i.Description, CompleteDate = i.CompleteDate.HasValue ? i.CompleteDate.Value.ToShortDateString() : “”, DueDate = i.DueDate.HasValue ? i.DueDate.Value.ToShortDateString() : “” }; 后来我尝试了以下查询,这是完全相同的,除了我直接从我的dataContext查询,而不是我的第一个查询中的一个元素: var items = from i in dataContext.MyLists select new { i.ID, i.Sector, i.Description, CompleteDate […]

在LINQ Query的where子句中传递int数组

有一节课 Public class Student { int id; int rollNum; String Name; } 一个方法 Public List GetAllStudents() { var studentList = GetMeAll(); // Simple select * query to get all students //unfortunately i can’t make changes in this method so have to write a linq query to //filter data. //getting int array ids correctly from some […]