Con los cambios a .NET Core 3.0 estoy obteniendo
... NavigationExpandingExpressionVisitor 'falló. Esto puede indicar un error o una limitación en EF Core. Consulte https://go.microsoft.com/fwlink/?linkid=2101433 para obtener información más detallada.) ---> System.InvalidOperationException: Procesando la expresión LINQ 'GroupJoin, ...
Esta es una consulta realmente simple, por lo que debe haber una forma de realizarla en .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();
Básicamente, estoy buscando una consulta de Linq (o la sintaxis del método como la anterior) que unirá Estudios en pacientes y establecerá los Estudios en una lista vacía o nula si no hay estudios para el paciente dado.
¿Algunas ideas? Esto funcionaba en .NET Core 2.2. Además, el enlace de MSFT anterior menciona que el cambio de ruptura de clave está relacionado con la evaluación del lado del cliente y evita que la consulta generada lea tablas completas que luego deben unirse o filtrarse del lado del cliente. Sin embargo, con esta simple consulta, la unión debería ser fácilmente factible en el lado del servidor.