2016-06-30 42 views
0

如何連接兩個表格以在下面的圖片中獲得以下結果?我想獲得項目名稱的計數。如何分組和加入以獲得計數?

我知道我可以按項目編號:

var TotalSupportsByProject = 
    from s in db.MySupportContext 
       .GroupBy(s => s.ProjectID) 
       .Select(g => new { ProjectId = g.Key, Total = g.Count() }) 
    select s; 

enter image description here

+3

任何努力從你身邊? –

+0

我認爲這是Group&Count?那個長長的內聯代碼有什麼問題? – shole

回答

2

加入和組。看來你正試圖獲得每個項目的支持。

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), 
    }; 
+0

感謝這就是我想要的。 –

+0

是否需要返回沒有支持記錄的項目? –

+0

@JeroenHeier:很好的電話,這可能是有用的,以防萬一。 –