私は、Entity Framework Code Firstを使用してかなり大きなデータベーススキーマを開発しています。ドメインオブジェクトを単純なPOCOとして残すため、データアノテーションのアプローチよりもFluent APIが好まれます。エンティティフレームワークのコードでは、まず別々のファイルで流暢なマッピングが可能ですか?
Fluent APIを使用するには、DbContextから継承するクラスでOnModelCreatingをオーバーライドする必要があります。
すべてのエンティティのすべてのマッピングがこの1つの方法にあるとは思いません。私は以前FluentNHibernateのようなものを使っていましたが、各エンティティには独自のマッピングクラスがあります。 EFには何か類似点はありますか?
マッピングクラスを実装するための独自のインターフェイスを作成し、それらをすべてOnModelCreatingメソッド内で呼び出すことができます。私は反射やIoCを使ってそれらをすべて発見することができました。特に私はこのアプローチに間違ったことは何も見ていませんが、Entity Frameworkに既にこのようなものが入っているのかどうか疑問に思っていましたか?
「複合型コンフィグレーション」の記述には+1 –
vossad01
一般に、このアプローチは良い方法と考えられますか? –
大規模な複雑なモデルを扱う場合は、ほとんど必要です。それ以外の場合は、すべてを1つのOnModelCreatingメソッドに入れる必要があります。 – Tony