带有外连接和计数的SQL到LINQ

时间:2016-11-09 00:55:54

标签: sql linq

我正在尝试使用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

1 个答案:

答案 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();