【发布时间】:2018-04-14 15:04:54
【问题描述】:
我正在尝试将我的 SQL 语句转换为 Linq 语句,但我不确定如何将第二个 COUNT 添加到其中。这是我的 SQL 语句
SELECT l.Campus_Name, Labs = COUNT(*), LabsWithSubnets = COUNT(s.Lab_Space_Id)
FROM vw_Lab_Space l
LEFT JOIN vw_Subnet s on l.Lab_Space_Id = s.Lab_Space_Id
GROUP BY l.Campus_Name
ORDER BY 1
这是我目前为止的 LINQ 语句:
from l in Vw_Lab_Space
from s in Vw_Subnet
.Where(s => s.Lab_Space_Id == l.Lab_Space_Id)
.DefaultIfEmpty() // <=- triggers the LEFT JOIN
group l by new { l.Campus_Name } into g
orderby g.Key.Campus_Name
select new {
Campus_Name = g.Key.Campus_Name,
Labs = g.Count()
}
所以我什么都有,除了LabsWithSubnets 部分。我只是不确定如何添加它,因为我不能在 select 语句中只做一个s.Lab_Space_id.Count()。
如果您需要表结构和示例数据,请参阅Need help creating an OUTER JOIN to count spaces。
【问题讨论】:
标签: linq linq-to-sql