Ho letto here che durante l'interrogazione dei dati per un'operazione di lettura, l'impostazione di ObjectTrackingEnabled
su false
offre un miglioramento delle prestazioni. Le mie query simile a questa:ObjectTrackingEnabled e linq-to-sql
public return type TheQueryName (some parameters)
{
using (TheDC MyDC = new TheDC())
{
var TheQuery = (...).ToList();
return TheQuery;
}
}
1) Se voglio aggiungere il miglioramento delle prestazioni, posso solo aggiungere la riga ObjectTrackingEnabled = true;
appena prima della riga var TheQuery = (...).ToList();
2) Inoltre, se io impostare ObjectTrackingEnabled
a true
in una query, è necessario impostarlo su false prima di tornare o sto semplicemente impostando ObjectTrackingEnabled
per la particolare istanza del contesto dati e la volta successiva creerò un nuovo contesto di dati il valore di ObjectTrackingEnabled
verrà ripristinato indietro t o il suo stato predefinito di false
?
Nota: ho solo intenzione di aggiungere ObjectTrackingEnabled = false;
per leggere le operazioni.
Grazie.
Questo è un altro post del blog utili su come le cose possono impazzire fuori controllo se si sta inutilmente il monitoraggio cose: https://weblog.west-wind.com/posts/2014/dec/21/gotcha -entity-framework-gets-slow-in-long-iteration-loop –