2012-04-05 71 views
1

我有一個列表(pk = Id)。 該表具有FK由PracticeProfileId 一個practicticeprofile(即1分實踐的個人資料有許多房源)linq平均計數語法

我wouls想回到列表的平均數實踐輪廓

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

我想我成功是分組由practiceprofile的清單,但我不知道如何獲得房源的總平均#

感謝

+0

我認爲你的代碼是正確的。如果不是,你能提供樣本輸入和預期結果嗎? – 2012-04-05 13:02:55

回答

0

你應該用GROUP BY,試試下面這例如:

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) }; 

編輯補充:

這是正確的語法。我發現我的錯誤;我將ProdsInCat定義爲String而不是Int