.NET Core 3.0의 변경 사항으로 인해
... NavigationExpandingExpressionVisitor '가 실패했습니다. 이는 EF Core의 버그 또는 제한 사항을 나타낼 수 있습니다. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=2101433 을 참조 하십시오 .) ---> System.InvalidOperationException : LINQ 식 'GroupJoin, ...
이것은 매우 간단한 쿼리이므로 .NET CORE 3.0에서 수행 할 수있는 방법이 있어야합니다.
var queryResults1 = await patients
.GroupJoin(
_context.Studies,
p => p.Id,
s => s.Patient.Id,
(p, studies) => new
{
p.DateOfBirth,
p.Id,
p.Name,
p.Sex,
Studies =studies.Select(s1=>s1)
}
)
.AsNoTracking().ToListAsync();
나는 기본적으로 Linq 쿼리 (또는 위와 같은 방법 구문)를 찾고 환자에 대한 연구를 연결하고 연구를 빈 목록으로 설정하거나 주어진 환자에 대한 연구가없는 경우 null을 설정합니다.
어떤 아이디어? 이것은 .NET Core 2.2에서 작동했습니다. 또한 위의 MSFT 링크는 주요 변경 사항이 클라이언트 측 평가와 관련이 있으며 생성 된 쿼리가 전체 테이블을 읽은 다음 클라이언트 측에 조인하거나 필터링해야하는 것을 피합니다. 그러나이 간단한 쿼리를 사용하면 조인을 쉽게 서버 측에서 수행 할 수 있습니다.