Quando eseguiamo una query LINQ in Entity Framework Core, questo la compila e ne mette in cache il risultato della compilazione così da non doverla ricompilare ogni volta in quando il processo di compilazione di una query LINQ è molto oneroso. Tuttavia, se una query viene eseguita molto spesso, questo significa che Entity Framework Core fa altrettanto spesso il lookup della query in cache per estrarne il risultato compilato. Sebbene il lookup sia estremamente veloce, questo ha comunque un costo che per query usate di frequente può diventare oneroso.
Per ottimizzare ulteriormente le performance possiamo precompilare la query via codice e associarne il risultato della compilazione a una variabile così da utilizzarla direttamente nel codice.
private static Func<MyContext, int, Person> _getPersonById = EF.CompileQuery((MyContext ctx, int id) => ctx.People.First(p => p.Id == id)); using (var ctx = new MyContext()) { var person = _getPersonById(ctx, 1); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migliorare l'organizzazione delle risorse con Azure Policy
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Gestione file Javascript in Blazor con .NET 9
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Gestire gli accessi con Token su Azure Container Registry
Triggerare una pipeline su un altro repository di Azure DevOps
Gestione degli eventi nei Web component HTML
Ordine e importanza per @layer in CSS
Creare una libreria CSS universale: Cards
Utilizzare WebJobs su Linux con Azure App Service
Creare una libreria CSS universale - Rotazione degli elementi
Recuperare le subissue e il loro stato di completamento in GitHub
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- Gestione CSS in Blazor con .NET 9
- Gestione file Javascript in Blazor con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare la direttiva ngIf di Angular per renderizzare o meno template HTML
- The Agentic Day - Milano