使用 linq 分组和求和

Flo*_* M. 1 c# linq asp.net

Id | Value

1    50
2    60
3    80
3    50
2    20
1    60
1   100
Run Code Online (Sandbox Code Playgroud)

我想使用 linq 查询计算每个 id 的总数。我知道我必须group by在 sql 中使用相同的语句:

select id, sum(Value)
from MyTable
group by id
Run Code Online (Sandbox Code Playgroud)

但是如何使用 linq 或 lambda 来实现这一点?

小智 5

var list;
// manipulate list from your table;

list
  .GroupBy(t=>t.Id)
  .Select(t=>new { ID= t.Key , Value= t.Sum(u=>u.Value)}).ToList
Run Code Online (Sandbox Code Playgroud)