sabato 22 aprile 2023

Processing of the LINQ expression 'DbSet by 'NavigationExpandingExpressionVisitor' failed. This may indicate either a bug or a limitation in EF Core. See https://go.microsoft.com/fwlink/?linkid=2101433 for more detailed information.

Durante l'esecuzione del codice, può capire che una query linq to Entity Framework Core, generi un eccezione del tipo 

"Processing of the LINQ expression 'DbSet< ..... ' by 'NavigationExpandingExpressionVisitor' failed. This may indicate either a bug or a limitation in EF Core. See https://go.microsoft.com/fwlink/?linkid=2101433 for more detailed information." dove viene riporta la query con l'errore.
Questo può verificarsi per una serie di sotto query.
Una delle possibili soluzioni è quello di utilizzare come risultato un generico e non un Iqueryable e precedere prima della condizione Where, il Tolist.
Di seguito si riporta un esempio di prima, con l'errore e dopo senza errore.


Per esempio da così

IQueryable<NomeClasse> listaRecord= from u in DbContenx.TabellaOrVista.Where......(con subquery e condizioni)

Diventa così

 var risultato = from u in DbContenx.TabellaOrVista.ToList().Where(con subquery e condizioni)

Nessun commento: