Db for Customers とそれに関連する Ethnicity に 2 つの個別のテーブルがあります。顧客テーブルには、民族の外部キー ID が保持されます。レポート目的で各民族の合計を表示する Linq クエリを作成したいと思います。たとえば、次のようなもの...
+------------+------------------+
| Ethnicity | Customer Count |
+------------+------------------+
| White | 100 |
+------------+------------------+
| Black | 50 |
+------------+------------------+
| Chinese | 20 |
+------------+------------------+ etc...
これまでのところ、次の 2 つの LINQ クエリがあります。
var customers = repository.GetAll<Customer>();
var ethnicities = repository.GetAll<Ethnicity>();
var query1 = customers.GroupBy(c => c.EthnicityId).Select(g => new { Key = g.Key, Count = g.Count() });
クエリ 1 は合計を表示しますが、テキスト (EthnicityType) ではなく民族 ID を使用します。
var query2 = from c in customers
join e in ethnicities on c.EthnicityId equals e.Id
where (c.EthnicityId == e.Id)
select new { Ethnicity = e.EthnicityType, Count = ??? };
クエリ 2 は 2 つのテーブルを結合しますが、これをグループ化して、個々のレコードではなく合計を取得する方法を教えてください。これが理にかなっていることを願っています。これについて助けていただければ幸いです。