次のようなデータが返されます。
Model { Guid Id }
合計アイテムの int がありint totalCount
ます。
カテゴリ 1 として返されたデータから個別の数を取得しようとしています。合計アイテムからカテゴリ 1 の数を引いたものがカテゴリ 2 になります。
カテゴリ 1 の個別のカウントを取得する次の linq がありますが、カテゴリ 2 のカウントを IEnumerable に追加するにはどうすればよいですか?
var result = data.
GroupBy(x => x.Id).
Select(x => new { Category = "1", Value = x.Select(v => v.Id).Distinct().Count() }).
GroupBy(x => x.Category).
Select(x => new Item { Category = x.Key, Value = x.Sum(y => y.Value) });
Item Class には 2 つのメンバーがあります。Category の文字列と Value の decimal です。
ありがとう!
編集:したがって、次のデータIEnumerable<Model> data
があり、次のデータが含まれています:
{ Id: 1 }
{ Id: 2 }
{ Id: 2 }
{ Id: 1 }
{ Id: 3 }
{ Id: 4 }
および totalCount = 10 です。
データから Id の個別のカウント (この場合は 4) をカテゴリ 1 として取得し、totalCount - 個別の項目をカテゴリ 2 として取得したいと考えています。したがって、結果として次のようになりますIEnumerable
。Item
{ Category: "1", Value: 4 }, { Category: "2", Value: 6 }
今のところ、私の linq ステートメントは return のみ{ Category: "1", Value: 4 }
であり、次に何をすべきかわかりません。