20

私は持っている、

MyListフィールドを持つオブジェクトのリスト:

string A;
string B;

概念的には、これは列 A、B を持つ 2 列の SQL テーブルに似ています。

このような概念的なテーブルで、この T-SQL の 3 つの列の結果セットを生成する linq 式を作成しようとしています。

SELECT A, B, COUNT(B) 
FROM T1
GROUP BY A, B

つまり、次のようなテーブルがあるとします。

A       B
----------
x       g
x       g
x       g
x       s
y       g
y       g

私は期待します:

A       B       COUNT(B)
-------------------------
x       g         3
x       s         1
y       g         2

私の最善の努力はこれでした:

var result = from MyObjs in MyList
group MyObjs by new { MyObjs.A, MyObjs.B } into g
select new { g.Key.A, g.Key.B, g.Key.B.Count() }

ただし、カウントは、複数の列グループごとの B の数ではなく、B の総数を返すように見えます。これはどのように修正できますか?

4

1 に答える 1