3

複数のアプリケーションがいくつかのテーブル (住所、会社など) を共有していますが、製品固有のテーブル (人事など) がいくつか追加されています。これはすべてデータベース ファースト戦略にあります。

「コア」ライブラリ (Address と Company を持つ) から Entity Framework によって生成されたクラスを製品 (Personnel を持つ) と共有できるようにしたいと考えています。これは、重複するクラスが定義されるのを避けるためです。

複数のコンテキストを保持するリポジトリを介してこれらすべてを覆い隠すことができることはわかっていますが、それでは(私が知る限り)1つの重要なこと、コアスキーマからの外部キーの自動作成(IE:データの入力とクエリ)が許可されません人事.会社)。クラス Personnel を (部分メソッドまたは拡張メソッドを使用して) 拡張して、CompanyID 列から Company を設定することもできますが、これは保持されません。

これまでのところ、コア DBContext から製品の DBContext を派生させること (t4 テンプレートを変更することによって) や、魔法のように値を設定することを期待すること (悲しいことに、そうではありませんでした) など、DBContext に関して考えられるほとんどすべてを読みました。本当に、T4 テンプレートを両方の EDMX に向けて魔法のように機能させたいと思っていますが、そうは思えません。

4

0 に答える 0