terminaison d'association
Une terminaison d’association identifie le type d’entité situé à l’une des extrémités d’une association et le nombre d’instances du type d’entité à cette extrémité. Les terminaisons d'association sont définies dans le cadre d'une association ; une association doit avoir exactement deux terminaisons d'association. Les propriétés de navigation permettent de naviguer d’une terminaison d’association à l’autre.
Une définition de terminaison d'association contient les informations suivantes :
Un des types d'entité impliqués dans l'association. (Obligatoire)
Notes
Pour une association donnée, le type d'entité spécifié pour chaque terminaison d'association peut être le même. Ceci crée une association automatique.
Multiplicité de terminaison d’association qui indique le nombre d’instances du type d’entité qui peuvent figurer à une extrémité de l’association. La multiplicité de terminaison d'association peut avoir une valeur égale à un (1), zéro ou un (0..1), ou plusieurs (*).
Nom de la terminaison de l'association. (facultatif)
Informations sur les opérations effectuées sur la terminaison d'association, telles que CASCADE sur DELETE. (facultatif)
Exemple
Le diagramme suivant montre un modèle conceptuel avec deux associations : PublishedBy
et WrittenBy
. Les terminaisons d'association pour l'association PublishedBy
sont les types d'entité Book
et Publisher
. La multiplicité de la terminaison Publisher
est un (1) et celle de la terminaison Book
est plusieurs (*), ce qui indique qu'un éditeur publie de nombreux livres et qu'un livre est publié par un seul éditeur.
ADO.NET Entity Framework utilise un langage spécifique à un domaine (DSL), appelé CSDL (Conceptual Schema Definition Language), pour définir des modèles conceptuels. Le CSDL suivant définit l'association PublishedBy
présentée dans le diagramme ci-dessus. Notez que le type, le nom et la multiplicité de chaque terminaison d'association sont spécifiés par des attributs XML (Type
, Role
et Multiplicity
, respectivement). Des informations facultatives sur les opérations effectuées sur une terminaison sont spécifiées dans un élément XML (OnDelete
). Dans ce cas, si un éditeur est supprimé, tous les livres associés le sont aussi.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
<OnDelete Action="Cascade" />
</End>
</Association>