我正在尝试使用COUNT为以下OUTER JOIN编写LINQ语句,但似乎无法解决这个问题。
我的LINQ技能不是他们应该做的,所以任何指针都会受到高度赞赏。
有问题的SQL语句是:
SELECT b.Id,
b.Text,
b.Active,
COUNT(u.BusinessArea_Id)
FROM dbo.[User] AS u RIGHT OUTER JOIN dbo.BusinessArea AS b ON b.Id = u.BusinessArea_Id
GROUP BY b.Id, b.Text, Active
ORDER BY b.Id
答案 0 :(得分:0)
我认为你可以使用这样的linq:
var res = (from ba in businessAreas
let count = users.Count(u => u.BusinessArea_Id == ba.Id)
orderby ba.Id
select new {ba.Id, ba.Text, ba.Active, Count = count}
).ToList();