[英]query for top child items with Entity Framework (DbSet)
I have a list of Order objects. 我有一个Order对象列表。 Each Order object has a list of OrderItems.
每个Order对象都有一个OrderItems列表。 The OrderItem object has a ProductId, and quantity property.
OrderItem对象具有ProductId和数量属性。
Given a list of Order objects (ex: var orders = _dbContext.Orders;) how can I find my top selling ProductIds (based on total quantities over all the orders in my list)? 给定Order对象的列表(例如:var orders = _dbContext.Orders;),如何找到最畅销的ProductId(基于列表中所有订单的总数量)?
I guess I'm looking for a LINQ statement. 我想我正在寻找LINQ语句。
You can use 您可以使用
orders.SelectMany(o=> o.OrderItems).OrderByDescending(oi=> oi.quantity).Take(5)
I would be careful at the generated sql though, sometimes it gets ugly. 我会小心生成的sql,有时会变得难看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.