アソシエーション セット End
"アソシエーション セット End" は、アソシエーション セットの End にあるエンティティ型とエンティティ セットを識別します。 アソシエーション セット End はアソシエーション セットの一部として定義されます。アソシエーション セットには、アソシエーション セット End が 2 つ必要です。
アソシエーション セット End の定義には、次の情報が含まれます。
アソシエーション セットに含まれるエンティティ型の 1 つ。 (必須)
アソシエーション セットに含まれるエンティティ型のエンティティ セット。 (必須)
例
下のダイアグラムは、WrittenBy
および PublishedBy
という 2 つのアソシエーションの概念モデルを示しています。
次のダイアグラムには、上の概念モデルに基づくアソシエーション セット (PublishedBy
) と 2 つのエンティティ セット (Books
および Publishers
) を示しています。 アソシエーション セット End は Books
および Publishers
エンティティ セットです。 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>