OnDelete-Element (CSDL)

Das OnDelete-Element in konzeptioneller Schemadefinitionssprache (CSDL) definiert mit einer Zuordnung verbundenes Verhalten. Wenn das Action-Attribut an einem Ende einer Zuordnung auf Cascade festgelegt wird, werden verwandte Entitätstypen am anderen Ende der Zuordnung gelöscht, sobald der Entitätstyp am ersten Ende gelöscht wird. Ist die Zuordnung zweier Entitätstypen eine Primärschlüssel-zu-Primärschlüssel-Beziehung, wird ein geladenes abhängiges Objekt gelöscht, sobald das Prinzipalobjekt am anderen Ende der Zuordnung gelöscht wird. Dies ist unabhängig von der OnDelete-Spezifikation. Weitere Informationen finden Sie unter Definieren und Verwalten von Beziehungen (Entity Framework). Nur die in den ObjectContext geladenen verknüpften Entitätstypen werden gelöscht.

Cc716734.note(de-de,VS.100).gifHinweis:
Das OnDelete-Element wirkt sich nur auf das Laufzeitverhalten einer Anwendung aus, nicht auf das Verhalten in der Datenquelle.Das in der Datenquelle definierte Verhalten sollte dem in der Anwendung definierten Verhalten entsprechen.

Ein OnDelete-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):

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. Bei Cascade werden abhängige Entitätstypen gelöscht, sobald der Prinzipalentitätstyp gelöscht wird. Bei None werden beim Löschen des Prinzipalentitätstyps abhängige Entitätstypen nicht gelöscht.

Cc716734.note(de-de,VS.100).gifHinweis:
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das Association-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen.

Beispiel

Das folgende Beispiel enthält ein Association-Element, durch das die CustomerOrders-Zuordnung definiert wird. Das OnDelete-Element gibt an, dass alle Orders-Objekte, die sich auf ein bestimmtes Customer-Objekt beziehen und in den ObjectContext-Kontext geladen wurden, gelöscht werden, sobald das Customer-Objekt gelöscht wird.

<Association Name="CustomerOrders">
  <End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
  <End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
        <OnDelete Action="Cascade" />
  </End>
</Association>

Siehe auch

Konzepte

Übersicht über das Entity Framework
CSDL-Spezifikation
Schema-Element (CSDL)

Weitere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools