OnDelete-Element (SSDL)
In Store Schema Definition Language (SSDL) spiegelt das OnDelete-Element das Datenbankverhalten wider, wenn eine Zeile, die Teil einer Fremdschlüsseleinschränkung ist, gelöscht wird. Wenn die Aktion auf Cascade festgelegt wird, dann werden Zeilen, die auf eine Zeile verweisen, die gelöscht wird, auch gelöscht. Wenn die Aktion auf None festgelegt wird, dann werden Zeilen, die auf eine Zeile verweisen, die gelöscht wird, nicht gelöscht. Ein OnDelete-Element ist ein untergeordnetes Element eines End-Elements.
Ein OnDelete-Element kann die folgenden untergeordneten Elemente aufweisen (in der Reihenfolge, in der sie unten aufgeführt sind):
Dokumentation (kein (null) oder ein Element)
Anmerkungselemente (kein (null) oder mehrere Elemente)
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das OnDelete-Element übernommen werden können.
Attributname | Ist erforderlich | Wert |
---|---|---|
Action |
Ja |
Cascade oder None. (Der Wert Restricted ist gültig, bewirkt aber das gleiche Verhalten wie None.) |
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierten XML-Attributen) kann auf das OnDelete-Element angewendet werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für SSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen. |
Beispiel
Das folgende Beispiel enthält ein Association-Element, das die FK_CustomerOrders-Fremdschlüsseleinschränkung definiert. Das OnDelete-Element gibt an, dass alle Zeilen in der Orders-Tabelle, die auf eine bestimmte Zeile in der Customers-Tabelle verweisen, gelöscht werden, sobald die betreffende Zeile in der Customers-Tabelle gelöscht wird.
<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>
Siehe auch
Konzepte
Übersicht über das Entity Framework
SSDL-Spezifikation
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools