我有一個表有TeamName
和CurrentStatus
字段。我想提出一個LINQ查詢以獲得每個團隊和每個狀態的記錄數:linq結果中包含count = 0
var teamStatusCounts = models.GroupBy(x => new { x.CurrentStatus, x.TeamName })
.Select(g => new { g.Key, Count = g.Count() });
該查詢返回的結果,除非計數爲0。我需要得到各行的種種罪狀那裏對特定團隊和特定狀態(其中count = 0)沒有記錄。
嗯,你不能創建行憑空。也許你有一個單獨的表格列出所有的球隊。如果是這樣,您需要在兩個表之間執行左連接。編輯:並根據您的要求,它可能也是,你需要加入一個包含所有可能的狀態的表。 – sstan
你可能已經創建了內部加入你的狀態表和你的團隊的模型嗎?那麼你將失去結果表中的所有狀態數據。你可以將它改爲左連接,或者在末尾添加空行 –
天真,就像'var teamStatusCounts = allPossibleStatusAndTeamCombinations.Select(x => new {Key = x,Count = models.Count(y => y.CurrentStatus == x.CurrentStatus && y.TeamName == x.TeamName),});'。 –