2016-08-31 11 views
0

私は私のWeb APIでLinqにTSQLを変換しようとしていますが、私は正しい結果を得ていません。 私の既存の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に変換する私の試みは以下となっている:

THIS IS(のSirajマンスールFROM ANSWERED)を更新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

関連する問題