我正在嘗試運行以下代碼但是當我檢查SQL分析器時,看起來它在表上運行完整選擇,然後在它返回數據庫中的所有結果後進行分組。任何幫助表示讚賞。

 var result = _dbContext.LogEvent.GroupBy(x => x.EventLevel)
                                 .Select(g => new 
                                              { 
                                                  eventType = g.Key, 
                                                  total = g.Sum(i => i.Occurrences) 
                                              }) 
                                 .ToList();

一般承認的答案

更新:

下面鏈接的問題已經關閉,並且定於EF 2.1.0。您現在應該可以使用預覽包來試用它!


原始答案:

它看起來不像目前支持 ,但看起來有人看到這篇文章並創建了鏈接的問題。

這個概念是一個相當複雜的邏輯,而EF7則處於早期階段。 .Net的GroupBy不會直接轉換為SQL的GROUP BY直到您只使用聚合或Select的Key來跟進它。如果您有野心,可以提供拉取請求,或繼續使用EF6。


熱門答案

它很可能不會很快得到支持 - 不幸的是。會引起很多挫折,因為很多人不會閱讀發行說明,並且自然會認為它會像以前一樣工作(EF6 / Linq2SQL)。

我意識到涉及整個實體的更複雜的事情可能很複雜,但遺憾的是它甚至不支持像你這樣的簡單查詢:-(

https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-entity-framework-core-rc2/



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因