Conteneur d'entités (Entity Data Model)
Un conteneur d'entités est un regroupement logique de jeux d'entités, d'ensembles d'associations et d'importations de fonction.
Un conteneur d'entités défini dans un modèle conceptuel doit répondre aux spécifications suivantes :
Au moins un conteneur d'entités doit être défini dans chaque modèle conceptuel.
Le conteneur d'entités doit avoir un nom unique dans chaque modèle conceptuel.
Un conteneur d'entités peut définir des jeux d'entités ou des ensembles d'associations qui utilisent des types d'entité ou des associations définis dans un ou plusieurs espaces de noms. Pour plus d'informations, consultez Entity Data Model : espaces de noms.
Exemple
Le diagramme suivant montre un modèle conceptuel avec trois types d'entité : Book, Publisher et Author. Pour plus d'informations, consultez l'exemple suivant.
Bien que le diagramme n'achemine pas d'informations sur le conteneur d'entités, le modèle conceptuel doit définir un conteneur d'entités. 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 pour le modèle conceptuel présenté dans le diagramme ci-dessus. Notez que le nom du conteneur d'entités est défini dans un attribut XML.
<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>