LINQ查询以选择畅销书

Axi*_*ili 3 c# linq asp.net entity-framework

一个聪明的人可以帮我写一个LINQ查询来获得最畅销的产品吗,我在Entity Framework模型中有以下两个表/类:

Orders (OrderedItems)
OrderedItem (Product, Qty)
Run Code Online (Sandbox Code Playgroud)

例如。(这显然不起作用)

Orders.OrderByDescending(o => Sum(o.OrderedItems.Qty))
      .Select(o => o.OrderedItems.Product)
Run Code Online (Sandbox Code Playgroud)

Jef*_*ado 6

您实际上根本不需要Orders表。假设每个订购的商品都有相应的订单,那么您应该能够做到这一点。

var query =
    (from item in OrderedItem
    group item.Qty by item.Product into g
    orderby g.Sum() descending
    select g.Key).Take(5); // get the top 5 orders
Run Code Online (Sandbox Code Playgroud)