这个问题已经在这里有一个答案:
- 转动可观察集合[复制] 3个回答
- 使用LINQ透视数据 5回答
我有以下的动态列表
Crew NameSurname Period Result
ABC John DOE Q1 54,09
ABC John DOE Q2 59,57
ABC John DOE Q3 62,11
我怎样才能得到这个结果与LINQ。
Crew NameSurname Q1 Q2 Q3
ABC John DOE 47,51 47,51 51,46
我尝试过这种方式,但我无法得到的结果
List.GroupBy(c => c.PersonnelID)
.Select(g => new
{
PersonnelID = g.Key,
Period1 = g.Where(c => c.Period == 1).Sum(c => c.Result),
Period2 = g.Where(c => c.Period == 2).Sum(c => c.Result),
Period3 = g.Where(c => c.Period == 3).Sum(c => c.Result)
});