Élément OnDelete (CSDL)
L'élément OnDelete dans le langage CSDL (Conceptual Schema Definition Language) définit le comportement connecté avec une association. Si l'attribut Action a la valeur Cascade au niveau d'une terminaison d'une association, les types d'entités associés au niveau de l'autre terminaison de l'association sont supprimés lorsque le type d'entité de la première terminaison est supprimé. Si l'association entre deux types d'entités est une relation clé primaire/clé primaire, un objet dépendant chargé est supprimé lorsque l'objet principal au niveau de l'autre terminaison de l'association est supprimé, indépendamment de la spécification OnDelete. Pour plus d'informations, consultez Définition et gestion des relations (Entity Framework). Seuls les types d'entités associés chargés dans l'ObjectContext sont supprimés.
Remarque : |
---|
L'élément OnDelete affecte uniquement le comportement au moment de l'exécution d'une application ; il n'affecte pas le comportement dans la source de données.Le comportement défini dans la source de données doit être le même que le comportement défini dans l'application. |
Un élément OnDelete peut avoir les éléments enfants suivants (dans l'ordre répertorié) :
Documentation (zéro ou un élément) ;
éléments d'annotation (zéro, un ou plusieurs éléments).
Attributs applicables
Le tableau ci-dessous décrit les attributs qui peuvent s'appliquer à l'élément OnDelete.
Nom d'attribut | Requis | Valeur |
---|---|---|
Action |
Oui |
Cascade ou None. Si la valeur Cascade est affectée, les types d'entités dépendants sont supprimés lorsque le type d'entité principal est supprimé. Si la valeur None est affectée, les types d'entités dépendants ne sont pas supprimés lorsque le type d'entité principal est supprimé. |
Remarque : |
---|
Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément Association.Toutefois, les attributs personnalisés ne peuvent pas appartenir à un espace de noms XML réservé pour le langage CSDL.Les noms qualifiés complets de deux attributs personnalisés quelconques ne peuvent pas être identiques. |
Exemple
L'exemple suivant illustre un élément Association qui définit l'association CustomerOrders. L'élément OnDelete indique que tous les éléments Orders associés à un élément Customer particulier et qui ont été chargés dans l'objet ObjectContext seront supprimés si l'élément Customer est supprimé.
<Association Name="CustomerOrders">
<End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
<End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
<OnDelete Action="Cascade" />
</End>
</Association>
Voir aussi
Concepts
Vue d'ensemble d'Entity Framework
Spécification CSDL
Élément Schema (CSDL)
Autres ressources
Spécifications CSDL, SSDL et MSL
ADO.NET Entity Data Model Tools