私はTeamName
とCurrentStatus
のフィールドを持つテーブルを持っています。私は、各チームのために取得するためにLINQクエリを作っていますし、各ステータスのレコードのカウント:私はそこに行を取得する必要がありますlinqの結果に含まれるカウント= 0
var teamStatusCounts = models.GroupBy(x => new { x.CurrentStatus, x.TeamName })
.Select(g => new { g.Key, Count = g.Count() });
このクエリの結果は、カウントが0である場合を除いてすべてのカウントを返します。特定のチームと特定のステータス(カウント= 0)のレコードはありません。
を、あなたは空中からの行を作成することはできません。おそらく、あなたはすべてのチームがリストされた別々のテーブルを持っています。その場合は、両方のテーブル間で左結合を実行する必要があります。編集:あなたの要件に応じて、可能性のあるすべてのステータスを含むテーブルに参加する必要がありますもあります。 – sstan
あなたはおそらく、あなたのステータステーブルとあなたのチームを正しく結合することによってモデルを作成しましたか?結果表のすべての状況データが失われます。あなたは左結合に変更するか、末尾に空の行を追加することができます –
Naely、 'var teamStatusCounts = allPossibleStatusAndTeamCombinations.Select(x => new {Key = x、Count = models.Count(y => y.CurrentStatus == x.CurrentStatus && y.TeamName == x.TeamName)、}); '。 –