分组,获取每个组的最大值并更新组,linq到sql

时间:2017-05-04 16:09:05

标签: c# linq

从表格中,我按名称对元素进行分组,并获取每个组的数量列(数量)的最大值,然后使用最大值更新每个组。我是这样做的:

 var result = from skuTableElements in tableElements
               group skuTableElements by skuTableElements.Material
               into grouped
               select new 
               {
                 Material = grouped.First().Material,
                 Qty = grouped.Max(x => x.Qty)
               };


  foreach (var item in result) {
    var result2 = from elements in tableElements
                  where elements.Material == item.Material
                  select elements;
    foreach (var item2 in result2) {
      item2.Qty = item.Qty;
    }
  }

它可以很好地处理很少的元素,但我猜测有很多行,这可能需要很长时间。 有没有更好的方法呢?

0 个答案:

没有答案