2016-09-02 2 views
0

私はさまざまな製品の顧客の日々の使用状況を格納する使用表を持っています。私は現在、さまざまな製品の合計/組み合わせ使用のcustomerIDによる結果をグループ化した結果を返したいと考えています。EF6 - 1つのクエリ内で計算されたグループ化された結果を返す

現在のデータ構造:)

  • IDの完全に図示された例の下に見ます|顧客ID | prod1 | 2。 123。 0。 1
  • 2。 125。 5。 5
  • 3。 125。 1。私は(再び、私の説明能力賞賛)のような結果セットを返すために探しています1

  • 得意先| prod1 | prod2
  • 123。 0。 1
  • 125。 6。 6

EFを使用してこのような計算が可能ですか?私は同じことを達成するために多数のループを避けようとしているので、これは兄弟を助けるでしょう。あなたが必要なもの

答えて

1

GroupBySumです:

var result = context.Customers 
    // .Where(filter) // filter if needed 
    .GroupBy(m => m.CustomerID) 
    .Select(g => new 
    { 
     CustomerID = g.Key, // We grouped according to CustomerID, so key = CustomerID 
     SumProd1 = g.Sum(m => m.Prod1), // Sum Prod1 of grouped data 
     SumProd2 = g.Sum(m => m.Prod2) // Sum Prod2 of grouped data 
    }) 
    .ToList(); 

注:ToList()は、クエリ上で動作するように計画している場合、それが必要とされていないデータを取得するためです。

+1

仮想ハイ5があなたのところに来ています! – mauzilla

関連する問題