É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é) :

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.

  • 1 indique qu'exactement une instance de type d'entité existe au niveau de la terminaison de l'association.

  • 0..1 indique que zéro ou une instance de type d'entité existe au niveau de la terminaison de l'association.

  • * indique que zéro, une ou plusieurs instances de type d'entité existent au niveau de la terminaison de l'association.

Bb896235.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 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é) :

Bb896235.note(fr-fr,VS.100).gifRemarque :
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.

Bb896235.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 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)