1、單字段分組並求和:
var list = data.GroupBy(g => g.GoodsId).Select(e => new { GoodsId = e.Key, Qty = e.Sum(q => q.Qty) });
2、多字段分組求和:
var list = data.GroupBy(g => new { g.StorageId,g.GoodsId }).Select(e => new { GoodsId = e.Key, Qty = e.Sum(q => q.Qty) });
求平均值直接把Sum更換成:Average即可。
3、具有導航屬性的類求和及分組:
var list = data.GroupBy(g => new { g.StorageId,g.GoodsId }).Select(e => new { StorageName = e.Select(i => i.Storage.Name).FirstOrDefault(), GoodsName = e.Select(i => i.Goods.Name).FirstOrDefault(), CategoryName = e.Select(i => i.Goods.CategoryName).FirstOrDefault(), Qty = e.Average(q => q.Qty) });