状況:私がやりたいのは、ページのライフサイクルのデータコンテキストにアクセスできることです。これは主に、(a)一連のusing()を回避し、(b)遅延ロードされたプロパティにアクセスしたときにビュー内のスコープ外の例外を回避するためです。
編集:MVC4とEntityFramework 4.3.1(最新)を使用しています
私が通常することは
using (MyDB b = new MyDB()) {
...do all my stuff
}
私のコントローラーまたはデータレイヤーで。私の読書によると、これの良いところは、クリーンで、メモリリークなどが発生しないことです。しかし、欠点は、1ページのライフサイクルでも、これを何度も繰り返すことになり、オブジェクトのコンテキストが失われることです。私はすでにコンテキストを破棄したので表示します。
私はいくつかの読書をして、2009年から同様の投稿を見つけましたが、答えにコードがありません。確かに他の何人かはこれを解決する方法を理解しています-私は何かをしなければならないと思います
Application_BeginRequest and EndRequest
しかし、その方法と、落とし穴/ベストプラクティスが何であるかはわかりません。
あなたの助けに感謝します(可能であればいくつかのコードサンプルで!)