0

私は次のテーブルを持っています

[Order]
[Product]
    ProductId
[OrderDetails]
    OrderId
    ProductId
    Quantity

Orderオブジェクトを使用して、売上ごとにグループ化された製品の総売上を含むリストを取得する必要があります。

public class ProductSales 
{
    public decimal Total { get; set; }
    public Product Product { get; set; }
}

Orderオブジェクトのリストが与えられた場合、その製品の詳細を選択してから、製品ごとに売上をグループ化するにはどうすればよいですか?

私の現在のコードは次のようになります。

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();
4

1 に答える 1

0

製品ごとに (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();
于 2012-06-15T14:51:13.107 に答える