[英]Simple SQL Count to LINQ?
我花了大约两个小时的时间对此进行研究。 是LINQ btw的新手。 我如何获得这样的SQL到LINQ查询?
SELECT r.id, name, designation, COUNT(a.id)
FROM region r
LEFT JOIN area a on a.region_id = r.id
GROUP BY r.id, name, designation
我的选择当然是将其放置在一个View
(我可以弄清楚),但我希望将此添加到我的知识中。 谢谢!
PS VB或C#都可以,但我更喜欢前者。
我认为是这样的:
var result =
from r in regions
join a in areas on r.id equals a.region_id into subvalues
select new { id = r.id, name = r.name, designation = r.designation, count = subvalues.Count() };
假设要对数据进行分组,请尝试如下查询:
var countQry =
from region in Regions
let areas =
from area in Areas
where area.RegionId == region.Id
select area
select new {
region.Id,
region.Name,
region.Designation,
AreaCount = areas.Count()
};
这样的事情也可以正常工作。
int count = 0;
(from r in region
join a in area on r.<join_val> equals a.<join_val> into leftJ
from lj in leftJ.DefaultIfEmpty()
select lj
).GroupBy( r => r.id).All(item =>
{
count += item.Count();
return true;
});
count应该具有您要寻找的值,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.