contenitore di entità (Entity Data Model)
Un contenitore di entità è un raggruppamento logico di set di entità, set di associazioni e importazioni di funzioni.
Le affermazioni seguenti relative a un contenitore di entità definito in un modello concettuale devono essere vere:
In ogni modello concettuale deve essere definito almeno un contenitore di entità.
Il contenitore di entità deve disporre di un nome univoco all'interno di ogni modello concettuale.
Un contenitore di entità può definire set di entità o set di associazioni che utilizzano i tipi o le associazioni di entità definite in uno o più spazi dei nomi. Per ulteriori informazioni, vedere Entity Data Model: spazi dei nomi.
Esempio
Nel diagramma seguente viene illustrato un modello concettuale con tre tipi di entità: Book, Publisher e Author. Per ulteriori informazioni, vedere l'esempio successivo.
Anche se nel diagramma non sono contenute informazioni sul contenitore di entità, il modello concettuale deve definire un contenitore di entità. ADO.NET Entity Framework utilizza un linguaggio specifico di dominio detto CSDL (Conceptual Schema Definition Language) per definire i modelli concettuali. Il linguaggio CSDL seguente definisce un contenitore di entità per il modello concettuale illustrato nel diagramma precedente. Si noti che il nome del contenitore di entità è definito in un attributo 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>