我试图在EF core 3.1中分组加入,但返回的问题
LINQ表达式'DbSet的处理失败。这可能表示EF Core中存在错误或限制
我的代码是这样的
var employees = await (from enrollment in RepositoryContext.Enrollments
join allowance in RepositoryContext.Allowances.Include(y=>y.AllowanceType) on enrollment.EmployeeId equals allowance.EmployeeId
into allowances
select new
{
enrollment,
allowances
}
).AsNoTracking().ToListAsync();
该津贴是项目的清单,有没有什么解决办法运行这样的,因为我需要它更好berformance查询。
在这里,使用GroupBy或GroupJoin引发的查询引发异常是现已关闭的GitHub问题/讨论,我试图说服EF Core团队添加GroupJoin
翻译。他们拒绝这样做,并打开了无用的“查询:支持GroupJoin”(当它是最终查询运算符#19930时,我将继续争取此类翻译)。因此,请去那里对完整的翻译请求进行评论/投票。
您还将找到解决方法-代替不GroupJoin
支持的方法,使用等效的支持的相关子查询方法,例如replace
join allowance in RepositoryContext.Allowances.Include(y => y.AllowanceType)
on enrollment.EmployeeId equals allowance.EmployeeId
into allowances
与
let allowances = RepositoryContext.Allowances.Include(y => y.AllowanceType)
.Where(allowance => enrollment.EmployeeId == allowance.EmployeeId)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句