我使用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还是实体框架限制的问题?
有什么解决方法吗?