私はデータベースから生成されたかなり大きなedmxを持っており、最近、アプリケーションを改善するためにパフォーマンスに取り組んでいます。さまざまな場所で多くの記事を読んだことがあります。
これは、変更の自動検出を無効にすることに関するものですhttp://msdn.microsoft.com/en-us/data/jj556205.aspx
これは、DbContextの削除のパフォーマンスを改善するためのもので、追加および削除するときに非常に遅くなります
これは(私はかなり良いと思います)http://www.codeproject.com/Articles/38922/Performance-and-the-Entity-Framework
私はすでにmyentities.tablename.MergeOption=MergeOption.NoTrackingを使用しています。コンパイルされたクエリを使用しています。EdmGenを使用してビューを事前生成し、フェッチするデータを減らしました。もちろん、パフォーマンスが飛躍的に向上しました。 54秒で読み込まれていたページが16.1秒かかるように境界を設定しますが、3秒にする必要があるため、次の改善点を探しています。
そのため、調査はすべて順調に進んでおり、その結果、最新のEntityFrameworkにアップグレードし、dbなどから.edmxを再生成し、さまざまなことを試しましたが、myEntities.Configuration.AutoDetectChangesEnabledが見つかりません。 falseに設定するため。今、私は簡単な簡単なトリックを見逃しているに違いありません-edmxにこのオプションを持たせるにはどうすればよいですか?
私はこの環境にいます。Net4.0.3、Visual Studio 2010、最新バージョンのEntityFramework、MVC 4.0 ...必要なのは、誰かが「ああ」と言って、これを実行する必要があることです。
現在、大きなテーブル(1億3400万行)の1つから1000レコードを削除すると、変更を保存するのに10分近くかかります。それで、私が読んだものから、AutoDetectChangesEnabledは私が変更する必要があるものですが、それは私のクラスに存在しませんか?それを手に入れるために私はどこで何をしなければならないのですか?
私はこれをすばやく解決しようとしています。
よろしくジュリアン