terminaison d'ensemble d'associations
Une terminaison d'ensemble d'associations identifie le type d'entité et le jeu d'entités au niveau de la terminaison d'un ensemble d'associations. Les terminaisons d'ensemble d'associations sont définies dans le cadre d'un ensemble d'associations ; un ensemble d'associations doit avoir exactement deux terminaisons d'ensemble d'associations.
Une définition de terminaison d'ensemble d'associations contient les informations suivantes :
Un des types d'entité impliqués dans l'ensemble d'associations. (Obligatoire)
Jeu d'entités pour le type d'entité impliqué dans l'ensemble d'associations. (Obligatoire)
Exemple
Le diagramme suivant montre un modèle conceptuel avec deux associations : WrittenBy
et PublishedBy
.
Le diagramme suivant montre un ensemble d'associations (PublishedBy
) et deux jeux d'entités (Books
et Publishers
) selon le modèle conceptuel présenté ci-dessus. Les terminaisons d'ensemble d'associations sont les jeux d'entités Books
et Publishers
. Bi dans le jeu d'entités Books
représente une instance du type d'entité Book
au moment de l'exécution. De même, Pj représente une instance Publisher
dans le jeu d’entités Publishers
. BiPj représente une instance de l’association PublishedBy
dans l’ensemble d’associations PublishedBy
.
ADO.NET Entity Framework utilise un langage DSL, appelé CSDL (Conceptual Schema Definition Language), pour définir des modèles conceptuels. Le CSDL suivant définit un conteneur d'entités avec un ensemble d'associations pour chaque association dans le diagramme ci-dessus. Notez que les terminaisons d'ensemble d'associations sont définies dans le cadre de chaque définition d'ensemble d'associations.
<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>