0

複数のレイヤーを持つ MVC3 アプリのコンテキストを作成および破棄する標準的な方法について、私は本当に混乱しています。私は EF4 から始めて EF5 にアップグレードしましたが、デフォルトの MSDN チュートリアルは常にブロックを使用して作業することを示しているようで、これは特にお粗末に思えます。コンテキスト オブジェクトをメソッド チェーンの上下に渡す必要があるように思えます。

私は、リクエストごとのコンテキスト、リポジトリ パターン、作業単位パターンなどについてかなりの量を読みましたが、誰もが車輪を再発明しているようです。

開発者は本当に多数のさまざまな EF 実装に取り​​組んでいますか? それとも、マスター チュートリアルで見逃した共通のアプローチがありますか?

4

2 に答える 2

1

UoW とリポジトリ パターンを実装する方法はいくつかあるかもしれませんが、誰もが同意することの 1 つは、Entity Framework によって作成されたコンテキストに対して抽象化レベルを作成するため、非常に便利だということです。

EF DBContext を直接使用しない理由はいくつかあります。そのうちの 2 つは、誤用を防ぎ、すべての開発者に公開してはならない複雑な機能を抽象化するためです。

さて、実装に関しては、UoW とリポジトリをそのように使用するようになったとき、車輪を再発明する気がしませんでした。見て、あなたの考えを教えてください!それはかなり簡単です。

それが役立つことを願っています!

于 2013-05-18T12:33:54.030 に答える
0

本当に覚えておく必要があるのは、基になるコンテキストがまだ DbConnection であることです。using使い終わったら捨てるのを忘れないように、ステートメントでラップすることをお勧めします。

それ以外は、あなたが何をしているかに大きく依存します。usingステートメントでラップしても問題ない場合があります。また、インスタンスを保持して使い続ける必要がある場合もありますが、使い終わったら破棄することを忘れないでください。

再配置パターンは、コンテキストを抽象化することでかなり人気があると思います。そのため、リポジトリでメソッドを呼び出すだけで、コンテキストから結果を返し、それを維持できます。

于 2013-05-17T19:05:02.993 に答える