Share via


アソシエーション セット End (Entity Data Model)

アソシエーション セット End は、アソシエーション セットの End にあるエンティティ型エンティティ セットを識別します。 アソシエーション セット End はアソシエーション セットの一部として定義されます。アソシエーション セットには、アソシエーション セット End が 2 つ必要です。

アソシエーション セット End の定義には、次の情報が含まれます。

  • アソシエーション セットに含まれるエンティティ型の 1 つ。 (必須)

  • アソシエーション セットに含まれるエンティティ型のエンティティ セット。 (必須)

下のダイアグラムは、PublishedBy および WrittenBy という 2 つのアソシエーションの概念モデルを示しています。

モデル例

次のダイアグラムには、上の概念モデルに基づくアソシエーション セット (PublishedBy) と 2 つのエンティティ セット (Books および Publishers) を示しています。 アソシエーション セット End は Book および Publisher エンティティ セットです。 Books エンティティ セット内の Bi は、実行時の Book エンティティ型インスタンスを表します。 同様に、Pj は、Publishers エンティティ セット内の Publisher インスタンスを表します。 BiPj は、PublishedBy アソシエーション セット内にある PublishedBy アソシエーションのインスタンスを表します。

例の設定

ADO.NET Entity Framework では、概念スキーマ定義言語 (CSDL) と呼ばれる DSL を使用して概念モデルを定義します。 次の CSDL は、上のダイアグラムの各アソシエーションに対して 1 つのアソシエーション セットを持つエンティティ コンテナーを定義しています。 アソシエーション セット End はアソシエーション セット定義の一部として定義されています。

<EntityContainer Name="BooksContainer" >
  <EntitySet Name="Books" EntityType="BooksModel.Book" />
  <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
  <EntitySet Name="Authors" EntityType="BooksModel.Author" />
  <AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Publisher" EntitySet="Publishers" />
  </AssociationSet>
  <AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Author" EntitySet="Authors" />
  </AssociationSet>
</EntityContainer>

参照

概念

Entity Data Model キーの概念
Entity Data Model