Di recente stavo guardando i miei registri e ho notato che una delle mie query causava un avvertimento che diceva "L'espressione LINQ '{espressione}" non può essere tradotta e verrà valutata localmente. " Questo a causa di un errore che ho commesso nell'espressione di query.
Sono stato in grado di risolvere questo problema senza troppi problemi. La mia domanda è: come posso rilevare questa situazione in futuro senza guardare manualmente i log?
Due soluzioni possibili (nessuna delle quali so come implementare):
Il mio obiettivo è quello di essere in grado di evitare che uno sbaglio come questo possa scivolare accidentalmente in produzione.
Utilizzando il link fornito da @GertArnold, sono stato in grado di convertire l'avviso in un errore utilizzando il seguente codice:
services.AddDbContext<MyContext>(
options =>
{
options.UseSqlServer("connection-string");
options.ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.QueryClientEvaluationWarning));
}
)