我试图弄清楚如何使用 Linq 将以下 SQL 语句转换为实体框架:
SELECT SUM(Column1) AS Correct
, SUM(Column2) AS Incorrect
, UserName
FROM Stats
WHERE (StatType = 0)
GROUP BY UserName
ORDER BY UserName
对于这个问题,数据库中的所有列类型都是 INT 类型,每个用户有多行数据。我基本上想要输出中的 3 列,每个用户的正确和错误选择总数。
这似乎是一个如此简单的 SQL 语句,但无论我在 LinqPad 之类的东西中尝试什么,我总是会出错。我一定错过了一些相对简单的东西。一旦我开始添加一个“.Sum”子句,我就会得到编译错误等。
Stats.Where(s => s.StatType == 0)
.GroupBy(s => s.UserName)
.Select(x => new { Correct = x.Column1
, Incorrect = x.Column2
, User=x.UserName})
.ToList()