![](/img/trans.png)
[英]EF Core 3.1 unexpected SQL generation when combine join and group by
[英]Group join in EF Core 3.1
我正在尝试在 EF 核心 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();
限额是项目列表,是否有任何解决方法可以运行这样的查询,因为我需要它以获得更好的性能。
这里的Query with GroupBy 或 GroupJoin throws exception是现已关闭的 GitHub 问题/讨论,我试图说服 EF Core 团队添加GroupJoin
翻译。 他们拒绝这样做并打开了无用的Query: Support GroupJoin 当它是最终查询操作符 #19930 时,我继续为这种翻译而战。 所以请去那里评论/投票支持完整的翻译请求。
您还将在那里找到解决方法 - 而不是不受支持的GroupJoin
使用等效的受支持的相关子查询方法,例如替换
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.