É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é) :
Documentation (zéro ou un élément) ;
OnDelete (zéro ou un élément) ;
éléments d'annotation (zéro, un ou plusieurs éléments).
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.
|
Remarque : |
---|
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é) :
Documentation (zéro ou un élément) ;
éléments Annotation (zéro, un ou plusieurs).
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. |
Remarque : |
---|
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