在LINQ Lambdaexpression式中使用GroupBy,Count和Sum

我有一个箱子的属性重量,体积和所有者的集合。

我想用LINQ来获取箱子信息的总结列表(由所有者)

例如

**Owner, Boxes, Total Weight, Total Volume** Jim, 5, 1430.00, 3.65 George, 2, 37.50, 1.22 

有人可以告诉我如何用Lambdaexpression式做到这一点?

  var ListByOwner = list.GroupBy(l => l.Owner) .Select(lg => new { Owner = lg.Key, Boxes = lg.Count(), TotalWeight = lg.Sum(w => w.Weight), TotalVolume = lg.Sum(w => w.Volume) }); 
  var q = from b in listOfBoxes group b by b.Owner into g select new { Owner = g.Key, Boxes = g.Count(), TotalWeight = g.Sum(item => item.Weight), TotalVolume = g.Sum(item => item.Volume) }; 
 var boxSummary = from b in boxes group b by b.Owner into g let nrBoxes = g.Count() let totalWeight = g.Sum(w => w.Weight) let totalVolume = g.Sum(v => v.Volume) select new { Owner = g.Key, Boxes = nrBoxes, TotalWeight = totalWeight, TotalVolume = totalVolume }