【发布时间】:2020-04-10 18:20:54
【问题描述】:
我在 SQL 中有这个查询
select FileName, UploadDate, Status
from MyTable group by FileName, UploadDate, Status
这给了我正确的输出
FileName UploadDate Status
fuel 1.xls 2020-04-10 17:43:04.857 1
fuel 1.xls 2020-04-10 17:43:04.857 4
fuel 2.xls 2020-04-10 17:43:17.193 4
我可以将此查询转换为 LINQ
context.MyTable
.GroupBy(x => new { x.FileName, x.UploadDate, x.Status })
.Select(x => new { x.Key.FileName, x.Key.UploadDate, x.Key.Status });
现在我想要相同的查询,但要添加一个包含“状态”列计数的列
我用这个查询在 SQL 中完成这个
select FileName, UploadDate, Status, count(Status) as 'StatusCount'
from MyTable group by FileName, UploadDate, Status
这给了我正确的输出
FileName UploadDate Status StatusCount
fuel 1.xls 2020-04-10 17:43:04.857 1 19
fuel 1.xls 2020-04-10 17:43:04.857 4 1
fuel 2.xls 2020-04-10 17:43:17.193 4 20
如何将这个额外的“列数”转换为 LINQ?我尝试了多次不同的解决方案,但都没有成功。有人可以帮帮我吗?
【问题讨论】:
-
count(status)也可以是count(*)。status在这里的计数没有比组中的任何其他字段更多的意义。