Entity Framework 7 分组依据
Entity Framework 7 group by
我正在尝试 运行 以下代码,但是当我检查 SQL 分析器时,它看起来 运行 是 [=17] 上的完整 select =] 然后在它之后进行分组 returns 所有结果都来自数据库。任何帮助表示赞赏。
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。您现在应该可以使用预览包试用它了!
原回答:
It doesn't look like this is currently supported,但似乎有人看到了这个 post 并创建了链接问题。
这个概念是相当复杂的逻辑,EF7 还处于早期阶段。 .Net 的 GroupBy
不会直接转换为 SQL 的 GROUP BY
,直到您仅使用聚合或 Select
中的密钥来跟进它。如果您有雄心壮志,可以提供拉取请求,或者 continue to use EF6.
它可能不会很快得到支持 - 不幸的是。会造成很多挫折,因为很多人不阅读发行说明,只是自然地假设它会像以前一样工作 (EF6 / Linq2SQL)。
我意识到对于涉及整个实体的更复杂的事情来说它可能很复杂,但遗憾的是它甚至不支持像你这样的简单查询:-(
https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-entity-framework-core-rc2/
我正在尝试 运行 以下代码,但是当我检查 SQL 分析器时,它看起来 运行 是 [=17] 上的完整 select =] 然后在它之后进行分组 returns 所有结果都来自数据库。任何帮助表示赞赏。
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。您现在应该可以使用预览包试用它了!
原回答:
It doesn't look like this is currently supported,但似乎有人看到了这个 post 并创建了链接问题。
这个概念是相当复杂的逻辑,EF7 还处于早期阶段。 .Net 的 GroupBy
不会直接转换为 SQL 的 GROUP BY
,直到您仅使用聚合或 Select
中的密钥来跟进它。如果您有雄心壮志,可以提供拉取请求,或者 continue to use EF6.
它可能不会很快得到支持 - 不幸的是。会造成很多挫折,因为很多人不阅读发行说明,只是自然地假设它会像以前一样工作 (EF6 / Linq2SQL)。
我意识到对于涉及整个实体的更复杂的事情来说它可能很复杂,但遗憾的是它甚至不支持像你这样的简单查询:-(
https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-entity-framework-core-rc2/