30

レポート用の読み取り専用データベースへのコンテキストがあり、次のような多くのコードを書いています。

using (var context = new ReportingContext())
{
    var reportXQuery = context.ReportX.AsNoTracking();

    // Do stuff here with query...
}

すべてのクエリを明示的に呼び出すことを覚えておく必要がなく、上記を実行するだけで自動的に使用されるようにAsNoTrackingビットを設定する方法はありますか?newReportingContextAsNoTracking

4

1 に答える 1

23

コンテキスト コンストラクターを次のように変更してみてください。

public ReportingContext()
{
this.Configuration.AutoDetectChangesEnabled = false;
}

編集:

Arthur のブログで述べられているように、これは結局役に立ちません。特定のシナリオでのみ使用できます。

http://blog.oneunicorn.com/2012/03/12/secrets-of-detectchanges-part-3-switching-off-automatic-detectchanges/

于 2013-09-20T20:24:20.273 に答える