【发布时间】:2020-02-21 15:12:37
【问题描述】:
我一直在尝试使用 GroupJoin 语句对两个表进行左外连接,以便我可以获得表 A 中没有表 B 中任何项目的行列表。但是我不断收到异常
Exception found: Processing of the LINQ expression 'DbSet<People>
.GroupJoin(
outer: DbSet<RiskGroup>,
inner: person => (Nullable<int>)person.Id,
outerKeySelector: risk => risk.AssessorId,
innerKeySelector: (person, risks) => new {
person = person,
risks = risks
.DefaultIfEmpty()
})' by 'NavigationExpandingExpressionVisitor' failed.
这似乎暗示在 EF Core v3 中是不可能的。有谁知道如何解决这个问题或者我的 LINQ 不正确:
var Ids = destContext.People.GroupJoin(destContext.RiskGroup,
person => person.Id,
risk => risk.AssessorId,
(person, risks) => new { person, risks = risks.DefaultIfEmpty() }).ToList();
我试图在 person 表中找到所有在 RiskGroup 表中没有行的行。
【问题讨论】:
标签: entity-framework-core ef-core-3.0 ef-core-3.1