Зі змінами до .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 (або синтаксис методу, як описано вище), який приєднає дослідження до пацієнтів, і встановить дослідження в порожній список або в нуль, якщо для даного пацієнта не буде проведених досліджень.
Будь-які ідеї? Це працювало в .NET Core 2.2. Також посилання MSFT вище згадує, що зміна ключа ключа пов'язана з оцінкою на стороні клієнта та уникаючи того, щоб згенерований запит читав цілі таблиці, які потім повинні бути об'єднані або відфільтровані на стороні клієнта. Однак за допомогою цього простого запиту з'єднання має бути легко виконаним на стороні сервера.