7

我正在尝试运行以下代码,但是当我检查 SQL 探查器时,它看起来像是在表上运行了一个完整的选择,然后在它从数据库返回所有结果后进行分组。任何帮助表示赞赏。

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

2 回答 2

7

更新:

下面链接的问题已关闭,计划用于 EF 2.1.0。您现在应该可以使用 Preview 包试用它了!


原答案:

目前似乎不支持此功能,但似乎有人看到了这篇文章并创建了链接问题。

这个概念是一个相当复杂的逻辑,EF7 处于非常早期的阶段。.NetGroupBy不会直接转换为 SQL GROUP BY,除非您只使用聚合或Select. 如果您觉得雄心勃勃,您可以提供拉取请求,或继续使用 EF6。

于 2015-06-06T05:43:50.953 回答
0

它可能不会很快得到支持 - 不幸的是。会引起很多挫折,因为很多人不阅读发行说明,并且很自然地认为它会像以前一样工作(EF6 / Linq2SQL)。

我意识到它对于涉及整个实体的更复杂的事情可能很复杂,但很遗憾它甚至不支持像你这样的简单查询:-(

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

于 2016-05-25T19:55:08.310 回答