CodeFirst で特化するにはどうすればよいですか? このような:
https://users.cs.jmu.edu/bernstdh/web/common/lectures/images/specialization_vehicle.gif
それを見つけようとしましたが、成功していません。mv4 インターネット アプリケーション用のデータベースを構築しています。
CodeFirst で特化するにはどうすればよいですか? このような:
https://users.cs.jmu.edu/bernstdh/web/common/lectures/images/specialization_vehicle.gif
それを見つけようとしましたが、成功していません。mv4 インターネット アプリケーション用のデータベースを構築しています。
それには 3 つのオプションがあります。
TPT -table per type
Table per Type は、継承関係をリレーショナル外部キー アソシエーションとして表現することに関するものです。永続プロパティを宣言するすべてのクラス/サブクラス (抽象クラスを含む) には、独自の table があります。基本的に、階層内のエンティティごとに 1 つのテーブルがあります。
TPH - 階層ごとのテーブル
SQL スキーマを非正規化することでポリモーフィズムを有効にし、型情報を保持する型識別子列を利用します。基本的に、エンティティの階層用に 1 つのテーブルがあります。
TPC 具象型ごとの
テーブル 具象型ごとのテーブル (別名、具象クラスごとのテーブル) では、各 (非抽象) クラスに対して正確に 1 つのテーブルを使用します。階層内の具象型ごとに 1 つのテーブルがあります。
詳細については、リンク先の記事を参照してください。次の質問は、最適な方法は何かということです。ドメインと、各エンティティのデータと列の量に依存していると思います。また、パフォーマンスと保守性についても考慮する必要があります。これは、あなたが決定を下すための良い記事です.