アソシエーション セット End

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

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

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

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

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

Example model with three entity types

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

Screenshot that shows a Sets example.

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>

関連項目