entità finale dell'associazione

Un'entità finale dell'associazione identifica il tipo di entità in un'entità finale di un'associazione e il numero di istanze del tipo di entità che possono esistere in tale entità finale di un'associazione. Le entità finali dell'associazione sono definite come parte di un'associazione; un'associazione deve disporre esattamente di due entità finali. Le proprietà di navigazione consentono di navigare da un'entità finale dell'associazione all'altra.

Una definizione di entità finale dell'associazione contiene le informazioni seguenti:

  • Uno dei tipi di entità coinvolti nell'associazione (obbligatorio).

    Nota

    Per una determinata associazione, il tipo di entità specificato per ogni entità finale dell'associazione può essere lo stesso. In questo modo viene creata un'associazione interna.

  • Una molteplicità di entità finale dell'associazione che indica il numero di istanze del tipo di entità che possono trovarsi in un'entità finale dell'associazione. Una molteplicità di entità finale dell'associazione può disporre di un valore pari a uno (1), zero o uno (0..1) o molti (*).

  • Nome per l'entità finale dell'associazione. (Valore facoltativo)

  • Informazioni sulle operazioni eseguite sull'entità finale dell'associazione, ad esempio cascade on delete (Valore facoltativo)

Esempio

Nel diagramma seguente viene illustrato un modello concettuale con due associazioni: PublishedBy e WrittenBy. Le entità finali dell'associazione per l'associazione PublishedBy sono i tipi di entità Book e Publisher. La molteplicità dell'entità finale Publisher è uno (1) e la molteplicità dell'entità finale Book è molti (*), a indicare che un editore pubblica molti libri e un libro viene pubblicato da un solo editore.

Example model with three entity types

ADO.NET Entity Framework usa un linguaggio specifico di dominio (DSL) denominato Conceptual Schema Definition Language (CSDL) per definire modelli concettuali. Il linguaggio CSDL seguente definisce l'associazione PublishedBy illustrata nel diagramma precedente. Si noti che il tipo, il nome e la molteplicità di ogni entità finale dell'associazione vengono specificati dagli attributi XML (rispettivamente, gli attributi Type, Role e Multiplicity). Le informazioni facoltative sulle operazioni eseguite su un'entità finale vengono specificate in un elemento XML (l'elemento OnDelete). In questo caso, se viene eliminato un editore, vengono eliminati anche tutti i libri associati.

  <Association Name="PublishedBy">
    <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
    <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
  <OnDelete Action="Cascade" />
</End>
  </Association>

Vedi anche