1

CodeFirst で特化するにはどうすればよいですか? このような:

https://users.cs.jmu.edu/bernstdh/web/common/lectures/images/specialization_vehicle.gif

それを見つけようとしましたが、成功していません。mv4 インターネット アプリケーション用のデータベースを構築しています。

4

1 に答える 1

3

それには 3 つのオプションがあります。

  1. TPT -table per type
    Table per Type は、継承関係をリレーショナル外部キー アソシエーションとして表現することに関するものです。永続プロパティを宣言するすべてのクラス/サブクラス (抽象クラスを含む) には、独自の table があります。基本的に、階層内のエンティティごとに 1 つのテーブルがあります。

  2. TPH - 階層ごとのテーブル
    SQL スキーマを非正規化することでポリモーフィズムを有効にし、型情報を保持する型識別子列を利用します。基本的に、エンティティの階層用に 1 つのテーブルがあります。

  3. TPC 具象型ごとの
    テーブル 具象型ごとのテーブル (別名、具象クラスごとのテーブル) では、各 (非抽象) クラスに対して正確に 1 つのテーブルを使用します。階層内の具象型ごとに 1 つのテーブルがあります。

    詳細については、リンク先の記事を参照してください。次の質問は、最適な方法は何かということです。ドメインと、各エンティティのデータと列の量に依存していると思います。また、パフォーマンスと保守性についても考慮する必要があります。これは、あなたが決定を下すための良い記事です.

于 2013-07-30T03:18:51.107 に答える