由于限制,带有morelinq的MaxBy()的EF Core 3 Linq查询失败了吗?

时间:2019-11-18 11:33:24

标签: c# .net-core entity-framework-core morelinq

我使用morelinq的MaxBy()查询,并且在ef核心2.2和.net核心2.2上运行都没有问题

我已经将项目升级到.net core 3和ef core 3,现在我明白了:

  

System.InvalidOperationException:'处理LINQ表达式   '(x)=> MaxBy(       来源:x,       选择器:(y)=> y.Version)',由'NavigationExpandingExpressionVisitor'失败。这可能表明   EF Core中的错误或限制。

我的实体是这样的:

class MyEntity 
{
    [...]
    public string Guid { get; set; }
    public int Version { get; set; }
    [...]
}

,并且由于我需要实体的所有新版本,所以我这样做了:

dbContext.MyEntities
    .GroupBy(x => x.Guid)
    .SelectMany(x => x.MaxBy(y => y.Version));

这是morelinq还是实体框架限制的问题?

有什么解决方法吗?

0 个答案:

没有答案