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):

適用可能な属性

The table below describes the attributes that can be applied to the Association element.

属性名 必須 Value

Name

有効

アソシエーションの名前。

Bb399734.note(ja-jp,VS.100).gif注 :
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)