[英]Group By from DataTable using linq
大家好,我得到的结果如下
ID Name Price
1 XYZ 10
2 ABC 10
1 ABC 20
我想进行分组,以便给我
ID Name Price
1 XYZ 10
ABC 20
2 ABC 10
我尝试使用链接形式的解决方案,但无法让DataTable linq查询按列进行分组可以有人帮助我
您可以做这样简单的事情
context.Table.GroupBy(t => t.ID);
这将返回IQueryable<IGrouping<int, YourClass>>
类型的东西(假设您的ID为int)
每个条目将具有一个键(在这种情况下为ID)和一个枚举器,因此您可以浏览分组的所有记录
除非要更改原始对象,否则必须投影到新集合并删除重复的ID值。 就像是:
var query =
data.GroupBy(d => d.ID)
.OrderBy(g => g.Key)
.SelectMany(g => (new[] {new {
g.First().ID,
g.First().Name,
g.First().Price}})
.Concat(g.Skip(1).Select(i => new {
ID = (string)null,
i.Name,
i.Price})));
实质上:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.