Association 要素 (CSDL)
Association 要素は、2 つのエンティティ型の間のリレーションシップを定義します。 アソシエーションでは、リレーションシップに関連するエンティティ型、およびリレーションシップの各 End におけるエンティティ型の数 (多重度と呼ばれる) を指定する必要があります。 アソシエーション End の多重度には、1 (1)、ゼロか 1 (0..1)、または多数 (*) の値を指定することができます。 この情報は、2 つの子 End 要素で指定されます。
アソシエーションの一方の End にあるエンティティ型のインスタンスには、それらがエンティティ型で公開されている場合、ナビゲーション プロパティまたは外部キーからアクセスできます。 詳細については、「NavigationProperty 要素」、「ReferentialConstraint 要素」、および「リレーションシップの定義と管理 (Entity Framework)」を参照してください。
アプリケーション内で、アソシエーションのインスタンスは、エンティティ型のインスタンスの間の特定のアソシエーションを表します。 Association instances are logically grouped in an association set. 詳細については、「AssociationSet 要素」を参照してください。
An Association element can have the following child elements (in the order listed):
Documentation (0 個または 1 個の要素)
End (2 個の要素のみ)
ReferentialConstraint (0 個または 1 個の要素)
Annotation 要素 (0 個以上の要素)
適用可能な属性
The table below describes the attributes that can be applied to the Association element.
属性名 | 必須 | Value |
---|---|---|
Name |
有効 |
アソシエーションの名前。 |
注 : |
---|
Association 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。However, custom attributes may not belong to any XML namespace that is reserved for CSDL.カスタム属性の完全修飾名は一意である必要があります。 |
例
次の例は、Customer エンティティ型と Order エンティティ型で外部キーが公開されていない場合に CustomerOrders アソシエーションを定義する Association 要素を示しています。 The Multiplicity values for each End of the association indicate that many Orders can be associated with a Customer, but only one Customer can be associated with an Order. さらに、OnDelete 要素は、Customer が削除されると、特定の Customer に関連し、かつ ObjectContext に読み込まれた Orders もすべて共に削除されることを示しています。
<Association Name="CustomerOrders">
<End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
<End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
<OnDelete Action="Cascade" />
</End>
</Association>
次の例は、Customer エンティティ型と Order エンティティ型で外部キーが公開されている場合に CustomerOrders アソシエーションを定義する Association 要素を示しています。 外部キーが公開されているので、エンティティ間のリレーションシップは ReferentialConstraint 要素で管理されます。 このアソシエーションをデータ ソースにマップするために、対応する AssociationSetMapping 要素は必要ありません。
<Association Name="CustomerOrders">
<End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
<End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
<OnDelete Action="Cascade" />
</End>
<ReferentialConstraint>
<Principal Role="Customer">
<PropertyRef Name="Id" />
</Principal>
<Dependent Role="Order">
<PropertyRef Name="CustomerId" />
</Dependent>
</ReferentialConstraint>
</Association>
参照
概念
エンティティ フレームワークの概要
CSDL 仕様
Schema 要素 (CSDL)
その他のリソース
CSDL、SSDL、および MSL 仕様
ADO.NET Entity Data Model Tools
association type (Entity Data Model)