AssociationSet 要素 (CSDL)
概念スキーマ定義言語 (CSDL) の AssociationSet 要素は、同じ型のアソシエーション インスタンス用の論理コンテナーです。アソシエーション セットは、複数のアソシエーション インスタンスを 1 つのデータ ソースにマップできるようグループ化する方法を指定します。マッピングの詳細については、「AssociationSetMapping 要素 (MSL)」を参照してください。
AssociationSet 要素には、次の子要素をここに示す順序で含めることができます。
Documentation (0 または 1 つの要素を含めることができます)。
End (2 つの要素が必要とされます)。
Annotation 要素 (0 個以上の要素を含めることができます)。
Association 属性は、アソシエーション セットが格納する関連付けの型を指定します。アソシエーション セットの両端を構成するエンティティ セットは、正確に 2 個の子 End 要素で指定されます。
適用可能な属性
AssociationSet 要素に適用できる属性を次の表に示します。
属性名 |
必須 |
値 |
---|---|---|
Name |
はい |
エンティティ セットの名前。Name 属性の値と Association 属性の値を同じにすることはできません。 |
Association |
有効 |
関連付けの完全修飾名。そのインスタンスは、アソシエーション セットに格納されます。関連付けは、アソシエーション セットと同じ名前空間に存在する必要があります。 |
注意
AssociationSet 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。ただし、カスタム属性は CSDL 用に予約されたどの XML 名前空間にも属さない場合があります。カスタム属性の完全修飾名は一意である必要があります。
例
次の例は、2 つの AssociationSet 要素を持つ EntityContainer 要素を示しています。
<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>