OnDelete 要素 (CSDL)
概念スキーマ定義言語 (CSDL) の OnDelete 要素は、アソシエーションと関係のある動作を定義します。 Action 属性が、アソシエーションの一方の End で Cascade に設定されている場合、その End にあるエンティティ型が削除されると、アソシエーションの他方の End で関連付けられているエンティティ型も削除されます。 2 つのエンティティ型間のアソシエーションが主キーと主キーのリレーションシップである場合、アソシエーションの他方の End にあるプリンシパル オブジェクトが削除されると、OnDelete の指定にかかわらず、読み込まれた依存オブジェクトも削除されます。 詳細については、「リレーションシップの定義と管理 (Entity Framework)」を参照してください。 削除されるのは、ObjectContext に読み込まれた関連付けられているエンティティ型だけです。
![]() |
---|
OnDelete 要素が影響を及ぼすのは、アプリケーションの実行時の動作だけです。データ ソースでの動作には影響を及ぼしません。データ ソースで定義された動作は、アプリケーションで定義された動作と同じである必要があります。 |
An OnDelete element can have the following child elements (in the order listed):
Documentation (0 個または 1 個の要素)
Annotation 要素 (0 個以上の要素)
適用可能な属性
The table below describes the attributes that can be applied to the OnDelete element.
属性名 | 必須 | Value |
---|---|---|
Action |
有効 |
Cascade または None。 Cascade の場合、プリンシパル エンティティ型が削除されると、依存エンティティ型も削除されます。 None の場合、プリンシパル エンティティ型が削除されても、依存エンティティ型は削除されません。 |
![]() |
---|
Association 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。However, custom attributes may not belong to any XML namespace that is reserved for CSDL.カスタム属性の完全修飾名は一意である必要があります。 |
例
The following example shows an Association element that defines the CustomerOrders association. 特定の Customer が削除されると、その Customer に関連付けられており ObjectContext に読み込まれている Orders もすべて削除されることが、OnDelete 要素によって示されています。
<Association Name="CustomerOrders">
<End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
<End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
<OnDelete Action="Cascade" />
</End>
</Association>
参照
概念
エンティティ フレームワークの概要
CSDL 仕様
Schema 要素 (CSDL)