按嵌套表分组
本文关键字:嵌套 | 更新日期: 2023-09-27 18:37:15
我有下表
[Order]
[Product]
ProductId
[OrderDetails]
OrderId
ProductId
Quantity
我必须使用 Order 对象获取一个列表,其中包含按销售额分组的产品总销售额
public class ProductSales
{
public decimal Total { get; set; }
public Product Product { get; set; }
}
给定订单对象列表,我如何选择其产品详细信息,然后按产品对销售额进行分组?
我当前的代码如下所示:
return Orders
.Select(ordeDetail => new {
Detail = ordeDetail.OrderDetails
.GroupBy(w => new {
Detail = w,
Product = w.Product})
.Select (group => new ProductSales {
Product = group.Key.Product,
Quantity = group.Sum(r => r.Quantity)
})
.ToList();
您可以按产品分组(按其 ID 或仅按整行):
return Orders
.Select(ordeDetail => new {
Detail = ordeDetail.OrderDetails
.GroupBy(w=>w.Product)
.Select(w=>new ProductSales {
Product=w.Key,
Total=w.Sum(prod=>prod.Quantity) })
})
.ToList();