2012-04-05 16 views
1

私は一覧表(pk = Id)を持っています。 表はPracticeProfileId によってpracticticeprofileにFKを持っている私はlinqの平均カウント構文

int count; 
count = (from l in myentity.Listings 
     group l by l.PracticeProfileId into g 
     select g.Count()).Average(); 

私は成功したと思うの練習プロファイルごとにリストの平均数を返すのが好きwouls

(すなわち1つの練習プロファイルは、多くのリストを持っています) practiceprofileでリストをグループ化するが、私はリストの平均総#を取得する方法について確認していない

おかげ

+0

あなたのコードは正しいと思います。そうでない場合、サンプル入力と期待される結果を提供できますか? –

答えて

0

をあなたがグループ化を使用する必要があり、これを次のようしてみてください例:

var categories = 
    from p in products 
    group p by p.Category into g 
    select new { Category = g.Key, AveragePrice = g.Average(p => p.UnitPrice) }; 
0

各カテゴリーの製品数と平均単価を含めるとします。私は正しい構文を見つけることができませんでした。

var categories = 
from p in products 
group p by p.Category 
into g  
select new { Category = g.Key, 
      ProdsInCat = g.Count(), 
      AveragePrice = g.Average(p => p.UnitPrice) }; 

編集を追加します。

これは正しい構文です。私は私の誤りを見つけた。私はIntの代わりにProdsInCatStringと定義しました。