【发布时间】:2013-05-16 23:53:32
【问题描述】:
我有一个表,其中每一行都包含一个团队 ID、一个用户 ID 和一个布尔值,指示该用户是否是代表。用户可以是多个团队的代表,并且团队可以拥有多个代表。我试图找出谁是最多产的代表,以及他们代表了多少支球队。实际上,我并不在乎它是谁,只关心他们代表了多少个团队。
我可以用下面的 SQL 轻松地做到这一点,但我不知道如何在 LINQ 中编写它。如果可能,我想避免使用存储过程,因为它们在这个应用程序中很少使用,我想保持一致性。
SELECT MAX(a.RepCount) as TeamMaxRepCount
FROM
(SELECT DelegateUserID, COUNT(*) AS RepCount
FROM TeamDelegates
GROUP BY DelegateUserID) as a
【问题讨论】:
-
也许:
int result = TeamDelegates.GroupBy(x => x.DelegateUserID).Max(g => g.Count());