Élément Principal (SSDL)
L'élément Principal en SSDL (Store Schema Definition Language) est un élément enfant de l'élément ReferentialConstraint qui définit la terminaison principale d'une contrainte de clé étrangère (également appelée « contrainte référentielle »). L'élément Principal spécifie la ou les colonnes de clé primaire dans une table référencées par une ou plusieurs autres colonnes. Les éléments PropertyRef spécifient les colonnes qui sont référencées. L' élément Dependent spécifie les colonnes qui référencent les colonnes de clé primaire spécifiées dans l'élément Principal.
L'élément Principal peut avoir les éléments enfants suivants (dans l'ordre répertorié) :
PropertyRef (un ou plusieurs éléments) ;
éléments 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 Principal.
Nom d'attribut | Requis | Valeur |
---|---|---|
Role |
Oui |
Même valeur que l'attribut Role (si utilisé) de l'élément End correspondant ; sinon, nom de la table qui contient la colonne référencée. |
Remarque : |
---|
Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément Principal.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 affiche un élément Association qui utilise un élément ReferentialConstraint pour spécifier les colonnes qui participent à la contrainte de clé étrangère FK_CustomerOrders. L'élément Principal spécifie la colonne CustomerId de la table Customer en tant que terminaison principale de la contrainte.
<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>
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