首页 > 解决方案 > 按 LINQ 的顺序使用聚合函数

问题描述

我想在这里按子句顺序使用 SUM(Quantity) -

var top3Order = (from order in ekartEntities.Orders
                         join inventory in ekartEntities.Inventories on order.InventoryId equals inventory.InventoryId
                         group order by new
                         {
                             inventory.InventoryId,
                             inventory.Guid,
                             order.Quantity
                         } into g
                         orderby g.Key.Quantity descending //sum(Quantity)
                         select g.Key.Guid).Take(3).ToList();

我怎样才能做到这一点?

标签: entity-frameworklinq

解决方案


没有什么可以阻止您在这里使用 .Sum() 。这是一个工作示例:

var top3Order = (from order in ekartEntities.Orders
                 join inventory in ekartEntities.Inventories on order.InventoryId equals inventory.InventoryId
                 group order by new
                 {
                     inventory.InventoryId,
                     inventory.Guid,
                     order.Quantity
                 } into g
                 orderby g.Sum(o => o.Quantity) descending
                 select g.Key.Guid).Take(3).ToList();

推荐阅读