次の方法で共有


OnDelete 要素 (SSDL)

ストア スキーマ定義言語 (SSDL) 内の OnDelete 要素は、外部キー制約に関与している行が削除されるときのデータベースの動作を反映します。アクションが Cascade に設定されている場合は、削除される行を参照している行も削除されます。アクションが None に設定されている場合、削除される行を参照している行は削除されません。OnDelete 要素は、End 要素の子要素です。

OnDelete 要素には、ここに示した順序で次の子要素を含めることができます。

適用可能な属性

OnDelete 要素に適用できる属性を次の表に示します。

属性名

必須

Action

はい

Cascade または None。(Restricted の値は有効ですが、None と同じ動作になります)。

注意

OnDelete 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。ただし、カスタム属性は SSDL 用に予約されたどの XML 名前空間にも属さない場合があります。カスタム属性の完全修飾名は一意である必要があります。

次の例では、FK_CustomerOrders 外部キー制約を定義する Association 要素を示します。OnDelete 要素は、Customers テーブル内の行が削除される場合、Customers テーブル内の特定の行を参照している Orders テーブル内のすべての行も削除されることを示します。

<Association Name="FK_CustomerOrders">
  <End Role="Customers" 
       Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" 
       Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>
<Association Name="FK_CustomerOrders">
  <End Role="Customers" Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

<Association Name="FK_CustomerOrders">
  <End Role="Customers" Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

関連項目

概念

エンティティ フレームワークの概要

SSDL 仕様

その他の技術情報

CSDL、SSDL、および MSL 仕様

ADO.NET Entity Data Model ツール