实体框架7组

时间:2015-06-05 13:32:50

标签: asp.net-core asp.net-core-mvc entity-framework-core

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

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

2 个答案:

答案 0 :(得分:7)

更新

以下链接的问题已经关闭,并且定于EF 2.1.0。您现在应该可以使用预览包进行试用!

原始答案:

It doesn't look like this is currently supported,但看起来有人看过这篇帖子并创建了链接问题。

这个概念是一个相当复杂的逻辑,而EF7则处于早期阶段。 .Net GroupBy不会直接翻译到SQL的GROUP BY,直到您只使用Select中的聚合或密钥进行跟进。如果您有野心,可以提供拉取请求,或continue to use EF6.

答案 1 :(得分:0)

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

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

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