これが、LINQ-Entitiesクエリに変換しようとしているT-SQLです。
SELECT [a].[ModLimit], [b].[NumberOfMods]
FROM [dbo].[Site][a]
INNER JOIN
(
SELECT [SiteId], ISNULL(COUNT(*),0) AS [NumberOfMods]
FROM [dbo].[Users][a]
WHERE [a].[IsMod] = 1
GROUP BY [SiteId]
) [b] ON [a].[SiteId] = [b].[SiteId]
WHERE [a].[SiteId] = 1
私がこれまでに取り組んでいること(コンパイルではありません...)
from u in db.Set<User>()
join s in db.Set<Site>() on u.SiteId equals s.SiteId
let x = t.ModLimit
where s.SiteId == 1
group u by u.SiteId into g
select new { g,x});
アイデア?
テーブルのカットダウン構造:
サイト
SiteId int PK
ModLimit int
ユーザー
UserId int PK
SiteId intFKIsMod ビット_