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
Eliminare una project wiki di Azure DevOps
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Filtering sulle colonne in una QuickGrid di Blazor
Code scanning e advanced security con Azure DevOps
Sfruttare al massimo i topic space di Event Grid MQTT
Utilizzare i primary constructor di C# per inizializzare le proprietà
Ottenere un token di accesso per una GitHub App
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Paginare i risultati con QuickGrid in Blazor
Recuperare App Service cancellati su Azure
Change tracking e composition in Entity Framework