hereを読んで、読取り操作のためにデータを照会するときに、ObjectTrackingEnabled
からfalse
に設定するとパフォーマンスがいくらか向上します。私のクエリは次のようになります。私は場合ObjectTrackingEnabledとlinq-to-sql
public return type TheQueryName (some parameters)
{
using (TheDC MyDC = new TheDC())
{
var TheQuery = (...).ToList();
return TheQuery;
}
}
1)私はパフォーマンス向上を追加したい場合は、私はちょうど、var TheQuery = (...).ToList();
2)また、単に行の前に行ObjectTrackingEnabled = true;
を追加しますクエリでObjectTrackingEnabled
をtrue
に設定すると、返される前にfalseに設定する必要がありますか?つまり、データコンテキストの特定のインスタンスに対してObjectTrackingEnabled
を設定して、次の時刻に新しいデータコンテキストをインスタンス化します。ObjectTrackingEnabled
の値は元に戻りますバックtデフォルトの状態はfalse
?
注:私は操作を読むためにObjectTrackingEnabled = false;
を追加するだけです。
ありがとうございました。
これはあなたが不必要なものを追跡している場合は、物事が制御不能CRAZYを得ることができる方法についての別の有用なブログ記事です:https://weblog.west-wind.com/posts/2014/dec/21/gotcha -entity-framework-gets-slow-in-long-iteration-loops –