我有,
具有字段的对象列表MyList
:
string A;
string B;
从概念上讲,这类似于具有 A、B 列的两列 SQL 表。
我正在尝试创建一个 linq 表达式,该表达式将在这样的概念表上生成此 T-SQL 的三列结果集:
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 数。如何解决这个问题?