如何連接兩個表格以在下面的圖片中獲得以下結果?我想獲得項目名稱的計數。如何分組和加入以獲得計數?
我知道我可以按項目編號:
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