Partager via


Élément End (SSDL)

L'élément End en langage SSDL (Store Schema Definition Language) spécifie la table et le nombre de lignes au niveau de la terminaison d'une contrainte de clé étrangère dans la base de données sous-jacente. L'élément End peut être un enfant de l'élément Association ou de l'élément AssociationSet. Dans chaque cas, les éléments enfants et les attributs applicables possibles sont différents.

Élément End comme enfant de l'élément Association

Un élément End (comme un enfant de l'élément Association) spécifie la table et le nombre de lignes à la terminaison d'une contrainte de clé étrangère avec les attributs Type et Multiplicity respectivement. Les terminaisons d'une contrainte de clé étrangère sont définies dans le cadre d'un ensemble d'associations SSDL ; un ensemble d'associations SSDL doit avoir exactement deux terminaisons.

Un élément End peut avoir les éléments enfants suivants (dans l'ordre répertorié) :

Attributs applicables

Le tableau suivant décrit les attributs qui peuvent s'appliquer à l'élément End lorsqu'il est l'enfant d'un élément Association.

Nom d'attribut Requis Valeur

Type

Oui

Nom complet du jeu d'entités SSDL qui est à la terminaison de la contrainte de clé étrangère.

Role

Non

Valeur de l'attribut Role dans l'élément Principal ou Dependent de l'élément ReferentialConstraint correspondant (si utilisé).

Multiplicity

Oui

1, 0..1 ou * en fonction du nombre de lignes qui peuvent être à la terminaison de la contrainte de clé étrangère.

  • 1 indique qu'il existe exactement une ligne à la terminaison de la contrainte de clé étrangère.

  • 0..1 indique qu'il y a zéro ou une ligne à la terminaison de la contrainte de clé étrangère.

  • * indique que zéro, une ou plusieurs lignes existent à la terminaison de la contrainte de clé étrangère.

Bb896336.note(fr-fr,VS.100).gifRemarque :
Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément End.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 la contrainte de clé étrangère FK_CustomerOrders. Les valeurs Multiplicity spécifiées sur chaque élément End indiquent que plusieurs lignes dans la table Orders peuvent être associées à une ligne dans la table Customers, mais qu'une seule ligne dans la table Customers peut être associée à une ligne dans la table Orders. De plus, l'élément OnDelete indique que toutes les lignes de la table Orders qui référencent une ligne particulière de la table Customers seront supprimées si la ligne de la table Customers est supprimée.

<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>

Élément End comme enfant de l'élément AssociationSet

L'élément End (en tant qu'enfant de l'élément AssociationSet) spécifie une table au niveau d'une terminaison d'une contrainte de clé étrangère dans la base de données sous-jacente.

Un élément End peut avoir les éléments enfants suivants (dans l'ordre répertorié) :

Attributs applicables

Le tableau suivant décrit les attributs qui peuvent s'appliquer à l'élément End lorsqu'il est l'enfant d'un élément AssociationSet.

Nom d'attribut Requis Valeur

EntitySet

Oui

Nom du jeu d'entités SSDL qui est à la terminaison de la contrainte de clé étrangère.

Role

Non

Valeur de l'un des attributs Role spécifiée sur un élément End de l'élément d'Associationcorrespondant.

Bb896336.note(fr-fr,VS.100).gifRemarque :
Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément End.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 EntityContainer avec un élément AssociationSet avec deux éléments End :

<EntityContainer Name="ExampleModelStoreContainer">
  <EntitySet Name="Customers" 
             EntityType="ExampleModel.Store.Customers" 
             Schema="dbo" />
  <EntitySet Name="Orders" 
             EntityType="ExampleModel.Store.Orders" 
             Schema="dbo" />
  <AssociationSet Name="FK_CustomerOrders" 
                  Association="ExampleModel.Store.FK_CustomerOrders">
    <End Role="Customers" EntitySet="Customers" />
    <End Role="Orders" EntitySet="Orders" />
  </AssociationSet>
</EntityContainer>

Voir aussi

Concepts

Vue d'ensemble d'Entity Framework
Spécification SSDL

Autres ressources

Spécifications CSDL, SSDL et MSL
ADO.NET Entity Data Model Tools