Ottimizzare l'uso delle Compiled Queries di Entity Framework

di Stefano Mostarda, in LINQ, Entity Framework,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi