私は、各モジュールがそれ自身のエンティティを定義するマルチモジュールプロジェクトを持っています。メインプログラムはモジュールを表すアセンブリをスキャンして、各エンティティのEntityTypeConfiguration<>
を取得します(modelBuidler.LoadFromAssembly()
経由)。同じデータベーステーブルに複数のクラス(同じエンティティが追加されたプロパティを持つ)をどのようにマッピングできますか?
シナリオ:module1
からProduct
がProduct
からを継承エンティティWarehouseProduct
テーブルproducts
にマッピングされ
エンティティ(上記に定義)と倉庫に関連するいくつかの他のプロパティを追加してにマッピングされます同じ表products
。
両方のエンティティが同じオブジェクトを表し、それはいくつかを作成する事が各のみ関連するプロパティへのアクセスを与えるコンテキストを囲まれています!
問題:
私はそれを行う方法を見つけ出すことはできません! DbContext(データベースを作成しようとしたとき)は、両方のクラスが同じテーブルを共有できないという不満があります。
注:
両方のクラスProduct
とWarehouseProduct
は、グループ共通のプロパティ共通の祖先を持っています。
編集1:
ものComplexTypeが機能しなかったとして、共通部分をマップしようとすると、DbContextは、両方のエンティティProduct
とWarehouseProduct
は、同じ型の階層にないと文句を言い。