Linq 如何按数据表分组和求和操作

Linq 如何按数据表分组和求和操作,linq,group-by,sum,Linq,Group By,Sum,这是我的数据表 Id Article Lot Ordered Unit Shipment Difference 1 32207 21309 80 Case 80 0 2 32218 21309 70 Case 60 10 3 32237 22359 50 Case 50 0

这是我的数据表

Id    Article    Lot      Ordered      Unit Shipment    Difference
1     32207      21309    80           Case 80          0
2     32218      21309    70           Case 60          10
3     32237      22359    50           Case 50          0
4     32255      24299    100          Case 100         0
5     32207      24299    110          Case 110         0
6     32218      21309    80           Case 75          5
7     32237      21309    60           Case 60          0
8     32255      21309    75           Case 75          0
我需要分组的文章和批次列,和总和数量列(订购,装运和差异)

预期结果将是:

Article Lot Ordered Unit    Shipment    Difference
32207   21309   80  Case    80          0
32218   21309   150 Case    135         15
32237   22359   50  Case    50          0
32255   24299   100 Case    100         0
32207   24299   110 Case    110         0
32237   21309   60  Case    60          0
32255   21309   75  Case    75          0
我希望使用Linq获得结果。 有人能帮我吗


非常感谢

尝试将其转换为可枚举的,然后使用linq

已更新

from v in mytable
group v by new {v.Article,v.Lot} into g
select new
{
    Article = g.Key.Article ,
    Lot = g.Key.Lot ,
    Ordered = g.Sum(X=>X.Ordered),
    Unit = g.First(),
    Shipment = g.Sum(X=>X.Shipment),
    Difference = g.Sum(X=>X.Difference) 
}

你试过什么?您可以通过AsEnumerable扩展方法将DataTable用作可枚举项。除此之外,请看一看关于可枚举方法(以及许多其他方法)的示例。您需要按文章和批次进行分组。