Élément End (CSDL)
L'élément End dans le langage CSDL (Conceptual Schema Definition Language) peut être un enfant de l'élément Association ou de l'élément AssociationSet. Dans chacun de ces cas, le rôle de l'élément End et les attributs applicables sont différents.
Élément End comme enfant de l'élément Association
Un élément End (comme enfant de l'élément Association) identifie le type d'entité au niveau de la terminaison d'une association et le nombre d'instances de type d'entité qui peuvent exister au niveau de cette terminaison d'une association. Les terminaisons d'association sont définies dans le cadre d'une association ; une association doit avoir exactement deux terminaisons d'association. Il est possible d'accéder aux instances de type d'entité au niveau de la terminaison d'une association via les propriétés de navigation ou les clés étrangères si elles sont exposées sur un type d'entité. Pour plus d'informations, consultez les rubriques Élément NavigationProperty, Élément ReferentialConstraint et Définition et gestion des relations (Entity Framework).
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 du type d'entité au niveau de la terminaison de l'association. |
Role |
Non |
Nom de la terminaison de l'association. Si aucun nom n'est fourni, le nom du type d'entité au niveau de la terminaison de l'association sera utilisé. |
Multiplicity |
Oui |
1, 0..1 ou * selon le nombre des instances de type d'entité qui peuvent figurer au niveau de la terminaison de l'association.
|
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 l'association CustomerOrders. Les valeurs Multiplicity de chaque élément End de l'association indiquent que de nombreux éléments Orders peuvent être associés à un élément Customer, mais qu'un seul élément Customer peut être associé à un élément Order. En outre, 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 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>
Élément End comme enfant de l'élément AssociationSet
L'élément End spécifie une terminaison d'un ensemble d'associations. L'élément AssociationSet doit contenir deux éléments End. Les informations contenues dans un élément End sont utilisées pour le mappage d'un ensemble d'associations à une source de données. Pour plus d'informations, consultez les rubriques Élément AssociationSetMapping (MSL) et Élément EndProperty (MSL).
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 d'annotation (zéro, un ou plusieurs éléments).
Remarque : |
---|
Les éléments d'annotation doivent figurer après tous les autres éléments enfants.Les éléments d'annotation sont autorisés uniquement dans les modèles conceptuels pour les applications qui ciblent le .NET Framework version 4 ou ultérieure.L'espace de noms XML de tels modèles est https://schemas.microsoft.com/ado/2008/09/edm. |
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 de l'élément EntitySet qui définit une terminaison de l'élément AssociationSet parent. L'élément EntitySet doit être défini dans le même conteneur d'entités que l'élément AssociationSet parent. |
Role |
Non |
Nom de la terminaison de l'ensemble d'associations. Si l'attribut Role n'est pas utilisé, le nom de la terminaison de l'ensemble d'associations est le nom du jeu d'entités. |
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 deux éléments AssociationSet, dotés chacun de deux éléments End :
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
<End Role="Book" EntitySet="Books" />
<End Role="Publisher" EntitySet="Publishers" />
</AssociationSet>
<AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="Books" />
<End Role="Author" EntitySet="Authors" />
</AssociationSet>
</EntityContainer>
Voir aussi
Concepts
Vue d'ensemble d'Entity Framework
Spécification CSDL
Élément Schema (CSDL)
Élément EntityContainer (CSDL)
Autres ressources
Spécifications CSDL, SSDL et MSL
ADO.NET Entity Data Model Tools
association end (Entity Data Model)
association set (Entity Data Model)
association set end (Entity Data Model)