小编Den*_*nko的帖子

不支持翻译包含没有组合的分组参数的“选择”

在从 .net5 迁移到 .net6 时,我遇到了实体框架的问题(针对 SqlServer 数据库运行)

AppDbContext context = _provider.GetRequiredService<AppDbContext>();
var grp = from d in context.Devices
    group d by d.CreatedOn.Day
    into grp2
    select grp2;
Assert.IsTrue(grp.Count() > 0); //this throws an exception
Run Code Online (Sandbox Code Playgroud)

我认为错误描述不是很直观:

不支持翻译包含没有组合的分组参数的“选择”。

为了解决这个问题,我只需添加一个 orderby,但无法理解为什么需要这样做。

AppDbContext context = _provider.GetRequiredService<AppDbContext>();
var grp = from d in context.Devices
    group d by d.CreatedOn.Day
    into grp2
    orderby grp2.Key
    select grp2;
Assert.IsTrue(grp.Count() > 0); //this throws exception
Run Code Online (Sandbox Code Playgroud)

以前有人遇到过这个问题吗?我错过了什么吗?有趣的是,这对于 EF Core 5 来说不是问题,查询在没有 orderby 的情况下照常工作。

ef-core-6.0

7
推荐指数
0
解决办法
1000
查看次数

标签 统计

ef-core-6.0 ×1