linq - 无效操作异常 : The LINQ expression 'GroupByShaperExpression:

标签 linq asp.net-core entity-framework-core

fileMovementRepository.GetAll()
                    .Where(fm => repository.GetAll().Select(f => f.Id).Contains(fm.FileId) && fm.TransferredById == userId)
                    .Include(f => f.User).Include(f => f.File).ThenInclude(f => f.Category)
                    .OrderByDescending(f => f.MovedOn)
                    .GroupBy(f => f.FileId)
                    .Select(f=>f.First())
                    .ToList();

运行时出现以下错误

处理请求时发生未处理的异常。 InvalidOperationException:LINQ 表达式“GroupByShaperExpression: KeySelector: f.FileId, 元素选择器:EntityShaperExpression: 实体类型:FileMovement 值缓冲区表达式: ProjectionBindingExpression:EmptyProjectionMember 可空:假

.First()' 无法翻译。以可以翻译的形式重写查询,或者通过插入对“AsEnumerable”、“AsAsyncEnumerable”、“ToList”或“ToListAsync”的调用来显式切换到客户端评估。参见 https://go.microsoft.com/fwlink/?linkid=2101038想要查询更多的信息。 Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)

InvalidOperationException:无法翻译 LINQ 表达式“GroupByShaperExpression:KeySelector:f.FileId,ElementSelector:EntityShaperExpression:EntityType:FileMovement ValueBufferExpression:ProjectionBindingExpression:EmptyProjectionMember IsNullable:False .First()”。以可以翻译的形式重写查询,或者通过插入对“AsEnumerable”、“AsAsyncEnumerable”、“ToList”或“ToListAsync”的调用来显式切换到客户端评估。参见 https://go.microsoft.com/fwlink/?linkid=2101038获取更多信息。

最佳答案

GroupBy 之前使用 ToList() 它将按预期工作。

fileMovementRepository.GetAll()
                .Where(fm => repository.GetAll().Select(f => f.Id).Contains(fm.FileId) && fm.TransferredById == userId)
                .Include(f => f.User).Include(f => f.File).ThenInclude(f => f.Category)
                .OrderByDescending(f => f.MovedOn)
                .ToList()
                .GroupBy(f => f.FileId)
                .Select(f=>f.First())
                .ToList();

关于linq - 无效操作异常 : The LINQ expression 'GroupByShaperExpression:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68242560/

相关文章:

c# - 如果未找到任何内容,如何为 LINQ 返回特定值?

azure - 使用Azure Function .NET 5,如何下载数据?

c# - 使用方法参数作为泛型类型参数

c# - NHibernate.Linq 1.0 GA Provider 生产就绪了吗

c# - 显示TimeLine右侧的数据

visual-studio - Visual Studio + ASP.NET Core + TypeScript - 谁编译 *.ts?

c# - 如何仅使用数据库中的 Entity Framework 脚手架模型

c# - Entity Framework 核心——脚手架枚举

entity-framework-core - Entity Framework 核心-内存提供者中必填字段

c# - LINQ Enumerable.All 如果集合为空则始终返回 True