我有一个表有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),});'。 –