我正在寻找一个 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
类似这样的事情。类别的值与我无关,我只想从组中获取任何元素。
最佳答案
应该像带有投影和一些聚合的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()
});
关于c# - 按列分组的 LINQ 方法语法,从每组中选取一个元素以及每组的总计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63533005/