外部キーのプロパティ

Entity Data Model (EDM) における "外部キーのプロパティ" は、別のエンティティ型エンティティ キーを含むエンティティ型のプリミティブ型のプロパティ (または一連のプリミティブ型のプロパティ) です。

外部キーのプロパティは、リレーショナル データベースの外部キー列に似ています。 リレーショナル データベースで外部キー列を使用してテーブル内の行の間のリレーションシップを作成するのと同様に、概念モデルでは外部キーのプロパティを使用してエンティティ型の間のアソシエーションを設定します。 エンティティ型の 1 つに外部キーのプロパティがある場合に、2 つのエンティティ型の間のアソシエーションを定義するには、参照整合性制約を使用します。

下のダイアグラムは、BookPublisher、および Author という 3 つのエンティティ型の概念モデルを示しています。 Book エンティティ型には、PublisherId というプロパティがあります。Publisher アソシエーションに参照整合性制約を定義するときに、このプロパティは PublishedBy エンティティ型のエンティティ キーを参照します。

RefConstraintModel

ADO.NET Entity Framework では、概念スキーマ定義言語 (CSDL) と呼ばれるドメイン固有言語 (DSL) を使用して概念モデルを定義します。 次の CSDL は、外部キーのプロパティ PublisherId を使用して、上の概念モデルに示された PublishedBy アソシエーションに参照整合性制約を定義します。

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

関連項目