林克分组依据和总和

本文关键字:林克 | 更新日期: 2023-09-27 18:33:50

基本上我有一个有两个属性的类 - ParentProductNumberOfOrders . 我想选择不同的父产品,按订单总数排序,所以我使用了以下 Linq:

var list = List.GroupBy(t => t.ParentProduct)
               .Select(group => new { Product = group.Key, NumberOfOrders = group.Sum(t => t.NumberOfOrders) })
               .OrderBy(o => o.NumberOfOrders)
                     .Select(o => o.Product);

其中List是所有子产品的列表
t是包含订单数和父产品的子产品
新对象o创建

我想知道是否有更好的方法来获取按订单总和排序的父产品的独特列表,因为上面似乎做了很多选择。

林克分组依据和总和

您可以删除中间的选择,只需按总和对组进行排序,然后选择产品。

var list = List.GroupBy(t => t.ParentProduct)
               .OrderBy(group => group.Sum(t => t.NumberOfOrders))
               .Select(group => group.Key);