通常、モデルクラスを記述し、対応するモデルクラスに複数のDbSetを含むDbContextを作成してEFコードでデータベースを作成します。エンティティフレームワークのコード最初に他のプロジェクトからモデルを追加する
Prismライブラリを使用すると、モジュールを作成できます。モジュールはソリューション内に同じソリューションに存在しますが、ソリューション内の別のプロジェクトとして存在します。あるいは、別のソリューションのDLLである可能性もあります。
私の質問は今、あなた自身のモデル(とDbSet定義)を持つプリズムモジュール(分離されたプロジェクト)を持っていればどうでしょうか? これらのモデルクラスとDbSetをそのモジュールから追加または注入(またはEFで検出)し、それらを既存のEFデータベースに追加するにはどうすればよいですか?
外部の人が独自のデータベースモデルを持つプラグイン(プリズムモジュール)を作成し、対応するDbSet定義をオフコイスするとします。 その人がそのプリズムモジュールDLLをプログラムディレクトリに落とした場合、プリズムモジュールからの他のDbSetが存在していてもデータベースに作成する必要がある。 (どのように追加できますか?)
ありがとうございます。
誰かがこれを行う方法のコードサンプルを与えることができますか?私はMEFの属性[ImportMany]と[ExportMany]について考えていましたが、うまくいくかどうかわかりません。
hmmmm実際に私の質問はEFコードでは最初にできないと言っていますか? – juFo
はい...回避策はかなり面倒です。 – LueTm