C# 在LinQ中使用Group By时出错
我对Linq比较陌生,正在尝试根据我的Linq查询进行分组,但得到的错误不包含字段值 下面是我的linq查询。谁能帮我一下吗C# 在LinQ中使用Group By时出错,c#,linq,C#,Linq,我对Linq比较陌生,正在尝试根据我的Linq查询进行分组,但得到的错误不包含字段值 下面是我的linq查询。谁能帮我一下吗 var name = dt1.AsEnumerable() .Where(p => (int)p["Age"] >= 29) .GroupBy(p =>p.Field<string>("Role")) .Select(p => new{ID = p.Field<int>("ID"),Name =p.F
var name = dt1.AsEnumerable()
.Where(p => (int)p["Age"] >= 29)
.GroupBy(p =>p.Field<string>("Role"))
.Select(p => new{ID = p.Field<int>("ID"),Name =p.Field<string>("Name"),Role = p.Field<string>("Role"),Age = p.Field<int("Age")});
正确代码:
var name = dt1.AsEnumerable()
.Where(p => p.Field<int>("Age") >= 29)
.GroupBy(p =>p.Field<string>("Role"))
.Select(q => q.Select(p => new{ID = p.Field<int>("ID"),Name =p.Field<string>("Name"),Role = p.Field<string>("Role"),Age = p.Field<int>("Age")}));
说明:
在这种情况下,GroupBy将创建IEnumerable
当您进行选择时,您将得到一个IGrouping,您需要在这个IGrouping上进行进一步的选择,以获得用于创建结果匿名类型的确切元素DataRow,如本例所示
请参阅选择分组依据中的字段。Lambda exp和c linq均可用。groupbby的目的是什么?请添加更多信息,请添加此作为评论,您的终端没有任何附加值谢谢您的解释。这个解决方案很有效。