如何解决LINQ方法语法按列分组,从每组中选择一个元素,每组总计数
我正在寻找一种使用方法语法按列分组的LINQ查询,选择每个组的第一个成员,并将每个组的总数添加到每个组的选定实体中。
有没有一种方法可以用LINQ方法语法中的一个优雅的语句来实现?
输入:
OrderId Name Category
=============================
1 Sam X
2 Sam Y
3 Matthew A
4 Matthew B
输出:
OrderId Name Category Count
======================================
1 Sam X 2
4 Matthew B 2
类似这样的事情。 category的值与我无关,我只想从组中获取任何元素。
解决方法
应该像带有投影 和一些 aggregates
的GroupBy
一样简单
var results = someList
.Group(x => x.Name)
.Select(x => new Entity()
{
Name = x.Key,OrderId = x.First().OrderId,Category = x.First().Category,Count = x.Count()
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。