如何连接两个表格以在下面的图片中获得以下结果?我想获得项目名称的计数。如何分组和加入以获得计数?
我知道我可以按项目编号:
var TotalSupportsByProject =
from s in db.MySupportContext
.GroupBy(s => s.ProjectID)
.Select(g => new { ProjectId = g.Key, Total = g.Count() })
select s;
如何连接两个表格以在下面的图片中获得以下结果?我想获得项目名称的计数。如何分组和加入以获得计数?
我知道我可以按项目编号:
var TotalSupportsByProject =
from s in db.MySupportContext
.GroupBy(s => s.ProjectID)
.Select(g => new { ProjectId = g.Key, Total = g.Count() })
select s;
加入和组。看来你正试图获得每个项目的支持。
var query =
from s in db.Support
join p in db.Project on s.ProjectId equals p.ProjectId
group 1 by p.ProjectName into g
select new
{
ProjectName = g.Key,
TotalSupport = g.Count(),
};
如果您需要能够包括不支持项目的计数,则需要进行一些调整。假设Project
表包含您需要的所有项目:
var query =
from p in db.Project
select new
{
p.ProjectName,
TotalSupport = db.Support.Count(s => s.ProjectId == p.ProjectId),
};
感谢这就是我想要的。 –
是否需要返回没有支持记录的项目? –
@JeroenHeier:很好的电话,这可能是有用的,以防万一。 –
任何努力从你身边? –
我认为这是Group&Count?那个长长的内联代码有什么问题? – shole