我期待有一个非常简单的解决方案,但我不能为我的生活想出解决办法...与计数(扩展方法)Linq查询
我试图创建LINQ相当于此:
SELECT Group, COUNT(*) as GroupCount
FROM table1
WHERE Valid > 0
GROUP BY Group, Project
我有这个至今:
var model = _db.table1
.Where(r => r.Valid > 0)
.GroupBy(r => new { r.GROUP, r.Project})
.Select(r => new{ r.GROUP, GroupCount = r.count()};
什么是错我的查询? Visual Studio的罚球和错误,指出:
System.Linq.IGrouping”不包含定义‘集团’,没有扩展方法‘集团’接受一个类型的第一个参数‘System.Linq.IGrouping’可能找到(是否缺少using指令或程序集引用?)
编辑:只是一个注:Select
子句中给出了r.Group
上述错误。
它也会抛出一个错误,指出count
扩展方法不存在,但我已经看到其他例子以这种方式完成。也许我在看一个来自旧版LINQ的例子吗?
EDIT2:一些示例性数据
GroupName ProjectID Step Other Info...
-----------------------------------------------
GroupA | 1 | 1 | ..............
GroupA | 1 | 2 |..............
GroupA | 3 | 1 | ..............
GroupB | 4 | 1 | ..............
GroupB | 5 | 1 | ..............
GroupC | 6 | 1 |..............
期望的结果:
GroupName Group Count
---------------------------
GroupA | 2
GroupB | 2
GroupC | 1
'.count'应该是'.Count()',它区分大小写... –
DOH!这个问题是固定的。谢谢 – Jeff
你可能想选择组中的键:'.Select(r => new {r.GROUP,GroupCount = r.count()};'应该是'.Select(r => new {r。 Key,GroupCount = r.Count()};' –