Terminaison d'ensemble d'associations (Entity Data Model)
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. (Requis)
Jeu d'entités pour le type d'entité impliqué dans l'ensemble d'associations. (Requis)
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>