2016-08-31 18 views
0

嗨我想在我的web api中將TSQL轉換爲Linq,但我沒有得到正確的結果。 我現有的TSQL是:如何獲得Linq返回計數作爲列上的分組查詢

SELECT COUNT(a.Id) as total ,c.Name as classroom 
From Attendance a INNER JOIN Classroom c ON a.classroom = c.Id 
WHERE DropDate= '20160815' 
GROUP BY c.Name 

我試圖轉換爲LINQ一直低於:

這是更新LINQ(回答西拉傑·曼蘇爾)

var name = (from a in dbContext.attendances 
         join c in dbContext.classrooms on a.Classroom equals c.Id 
         let classroom = c.Name 
         where (a.DropDate == today) 
         group a.Classroom by c.Name into g 
         select new 
         { 
          classroom = g.Key, 
          total = g.Count() 
         }); 

但問題它是不會帶回相同的數據,併爲每個教室返回500個總計。如果有人可以請讓我知道我在這做什麼不正確。

回答

1

通過在dbContext.attendances.Count()處執行單獨的「子查詢」,您可以返回表中所有出席人數的計數。你想要做的是Total = g.Count()它給你每組的計數。

+1

謝謝你做到了。我已在下面更新了我的答案。 – snowflakes74