5

AutoDetectChangesEnabledDbContextのプロパティがデフォルトで false に設定されているのはなぜだろうと思っていました。

コンテキストに一括挿入したいのですが、ご存知かもしれませんが、自動検出を false にすると、パフォーマンスが大幅に向上します。

AutoDetectChangesEnabledつまり、コンテキストの変更をいつ検出するかがわかっている場合、に設定してはいけない理由はありますfalseか?

4

1 に答える 1

4

彼らは、箱から出してすぐに機能する、より一般的で非常に便利な動作を望んでいた可能性が高いと思います。

var mycontext = new DemoContext();
var myEntity = myContent.Thinhymybobs.find(akey);
myEntity.PropX = newvalue;
mycontext.saveChnages();

DBに送信される更新はデルタ対応であり、それに応じてupdatesetステートメントが使用されます。したがって、これはDB上で友好的です。

DBで「一括」操作を行う場合、通常、パフォーマンスの質問は自然な考えです。したがって、変更をオフにすることについて疑問に思うこと、または実際に追跡を使用することでさえ、私が感じる可能性のある質問です。

この記事はあなたの興味を引くかもしれません。エントリの状態。 http://msdn.microsoft.com/en-us/data/jj592676.aspx

于 2013-02-19T02:56:37.113 に答える