Le Compiled Queries di Entity Framework permettono di velocizzare le performance di una query LINQ to Entities in quanto mantengono l'expression tree da queste generato. Poichè le Compiled Queries mantengono l'expression tree generato, quando si combina una Compiled Query con un'altro metodo LINQ, l'expression tree memorizzato viene ignorato e la query viene processata da zero.
Il modo migliore per evitare questo problema è creare un set di query, anche se molto simili, di modo da ottimizzare al massimo le performance.
var result = myCompiledQuery.Invoke(ctx); foreach (var item in result) { } //usa query compilata var result = myCompiledQuery.Invoke(ctx).Select(c => c.ID); foreach (var item in result) { } //esegue da zero
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Utilizzare Model as a Service su Microsoft Azure
Eseguire una GroupBy per entity in Entity Framework
C# 12: Cosa c'è di nuovo e interessante
Effettuare il binding di date in Blazor
Le novità di Entity Framework 8
Le novità di Angular: i miglioramenti alla CLI
Utilizzare la libreria Benchmark.NET per misurare le performance
Sostituire la GitHub Action di login su private registry
Definire stili a livello di libreria in Angular
Implementare l'infinite scroll con QuickGrid in Blazor Server
Usare le variabili per personalizzare gli stili CSS