2つの異なるメソッドがある場合-1つはユーザーを削除し、もう1つはユーザーのアドレスを削除します(引数のために、それらを削除する必要があり、非アクティブに設定できないと仮定します)。各メソッドがレコードを削除するためにそのタイプのリポジトリを作成する場合、最初のメソッドでObjectContextを作成し、それを他のメソッドに渡すことは良い習慣と見なされますか?もしそうなら、それは値または参照によって渡されるべきですか?これを行うと、どのような問題が発生する可能性がありますか?
1 に答える
2
はい、それは有効なアプローチです。1つのコンテキストを共有して複数のリポジトリに作用し、特定のユースケースを実現するパターンは、作業単位パターンと呼ばれます。
http://joel.net/repository-and-unit-of-work-for-entity-framework-ef4-for-unit-testing
トランザクションの整合性が必要な場合は、コンテキストを共有する必要があることに注意してください。個別のコンテキストを使用していて、2回目の削除が失敗した場合、最初の削除をロールバックする方法はありません。
于 2012-10-04T17:33:28.450 に答える