2

これは可能ですか?

例はありますか?私の検索はこれまでのところ無益であることが証明されています...

私がこのアプローチを使用している理由は、MVC 3 アプリのレガシー データベースに固執する必要があるためですが、非常に複雑な関連付けと継承階層がいくつかあるため、手動で行うのではなく EF でマッピングを生成する必要があります。単体テストにリポジトリ パターンを使用したい。アドバイスをいただければ幸いです。

4

3 に答える 3

3

「リポジトリ パターン Entity Framework 4.1」などを検索して、「データベース ファースト」という用語を忘れると、検索が実り多いものになります。クラスを手動で作成する (コード ファースト) か、DbContext ジェネレーターを使用してクラスを生成する (データベース/モデル ファースト) かは問題ではありません。最終的に、リポジトリはこれらのクラスを使用します。DbSet一般的なリポジトリの特殊化であるモデルの を除いて、意味のあるリポジトリを作成するジェネレーターはありません。モデル クラスとビジネス ニーズに基づいて、手動で記述する必要があります。

そのため、コード ファーストまたはデータベース/モデル ファーストのどちらのアプローチに従っても、リポジトリの設計には影響しません。

EF と単体テストを使用したリポジトリ パターンについては、これを警告および出発点として読み、その回答の多くのリンクをたどることをお勧めします。

Entity Framework 4.1 と親子関係を使用したリポジトリ パターン

于 2011-11-07T18:29:24.990 に答える
2

You could still use Code-first style if you want : code-first lets you reverse-engineer from an existing database to get you started. Or if you already have an EDMX, you can generate your code-first classes with a T4 template (packed with EF 4.1). Or, again, use T4 templates to generate POCOs and keep database-first as a strategy.

But I think you could still easily achieve a repository pattern even with database-first style. I think your main problem will be in the dependance to some entity framework DLLs if you do (which you could decide is not a problem).

于 2011-11-09T23:17:32.923 に答える