Con le modifiche a .NET Core 3.0 sto ottenendo
... NavigationExpandingExpressionVisitor 'non riuscito. Ciò può indicare un bug o una limitazione in EF Core. Vedere https://go.microsoft.com/fwlink/?linkid=2101433 per informazioni più dettagliate.) ---> System.InvalidOperationException: elaborazione dell'espressione LINQ 'GroupJoin, ...
Questa è una query davvero semplice, quindi ci deve essere un modo per eseguirla in .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();
Sto fondamentalmente cercando una query Linq (o sintassi del metodo come sopra) che unisca gli Studi ai pazienti e imposti gli Studi su un elenco vuoto o nullo se non ci sono studi per il dato paziente.
Qualche idea? Funzionava in .NET Core 2.2. Inoltre, il link MSFT sopra menziona che la modifica della rottura delle chiavi è correlata alla valutazione lato client ed evita che la query generata legga intere tabelle che devono quindi essere unite o filtrate lato client. Tuttavia, con questa semplice query, il join dovrebbe essere facilmente eseguibile sul lato server.