Ottimizzare le performance delle query di Entity Framework disabilitando l'object tracking

Stefano Mostarda

di Stefano Mostarda, in LINQ, Entity Framework, il 17 dicembre 2008 alle 08:00

Molto spesso, gli oggetti restituiti da una query non devono essere aggiunti al contesto poiché non c'è bisogno di tracciarne le modifiche. Un classico esempio di questa situazione si ha quando i dati sono semplicemente mostrati in una griglia o quando devono essere usati per generare flussi o ancora quando devono essere restituiti da un metodo di un webservice.
In tal caso si può impostare la proprietà MergeOption dell'oggetto ObjectQuery al valore NoTracking.

ctx.Order.MergeOption = MergeOption.NoTracking;

In questo modo si risparmia il tempo di associazione all'object tracking di ogni oggetto restituito dalla query.

IL CONTENUTO
IN PRIMO PIANO
MEDIA
IN EVIDENZA
MISC