contenitore di entità
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 usano i tipi o le associazioni di entità definite in uno o più spazi dei nomi. Per altre 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 altre 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 usa un linguaggio specifico di dominio (DSL) denominato Conceptual Schema Definition Language (CSDL) 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>