我期待有一個非常簡單的解決方案,但我不能爲我的生活想出解決辦法...與計數(擴展方法)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()};' –