2011-12-22 11 views
1

既存のEF 4.2プロジェクトをリポジトリと作業単位のパターンを使用して移行しようとしています。多くの人のサンプルでは、​​リポジトリでDbSetコレクションを使用していますが、私にはIncluding()などのものを使用できないため、これは制限されています。次に、DataContextを使用する他のサンプルがあります(この1つはhttp://www.efekaptan.com/repository-pattern-with-entity-framework-code-first-4.1です)。EF4、CodeFirstとリポジトリパターン - DbSetとDataContextの使用の違い

だから私はDataContextを使用したくない理由がありますか?

答えて

0

IncludeDbSet<T>を使用できます。 DbContextをリポジトリに参照する必要があります(コンストラクタを介してリポジトリインスタンスに渡す)。より高度な操作が必要なためです。 DbSet<T>への参照の保存は、アクセスするたびに文脈でSet<T>()を呼び出さないように単純化/最適化されています。

リポジトリの実装でコンテキストのインスタンスを作成してはいけません(リンクされた質問に示されているように、それは作業ユニットに反するためです)

関連する問題