Condividi tramite


tipo di associazione

Un tipo di associazione (detto anche associazione) è il blocco predefinito fondamentale per descrivere le relazioni nel modello EDM (Entity Data Model). In un modello concettuale, un'associazione rappresenta una relazione tra due tipi di entità , ad esempio Customer e Order. In un'applicazione un'istanza di un'associazione rappresenta un'associazione specifica, ad esempio un'associazione tra un'istanza di Customer e un'istanza di Order. Le istanze di associazione vengono raggruppate logicamente in un set di associazioni.

Una definizione di associazione contiene le informazioni seguenti:

  • Un nome univoco. (obbligatorio).

  • Due estremità dell'associazione, una per ogni tipo di entità nella relazione. (obbligatorio).

    Annotazioni

    Un'associazione non può rappresentare una relazione tra più di due tipi di entità. Un'associazione può tuttavia definire un'auto-relazione specificando lo stesso tipo di entità per ogni estremità dell'associazione.

  • Vincolo di integrità referenziale. (opzionale)

Ogni fine dell'associazione deve specificare una molteplicità finale dell'associazione che indica il numero di istanze del tipo di entità che possono trovarsi in una fine dell'associazione. Una molteplicità finale di associazione può avere un valore pari a uno (1), zero o uno (0,.1) o molti (*). È possibile accedere alle istanze del tipo di entità a un lato di un'associazione attraverso le proprietà di navigazione o le chiavi esterne, se esposte su un tipo di entità. Per ulteriori informazioni, vedere Entity Data Model: Foreign Keys.

Esempio

Il diagramma seguente illustra un modello concettuale con due associazioni: PublishedBy e WrittenBy. Le estremità dell'associazione PublishedBy sono i tipi di entità Book e Publisher. La molteplicità della Publisher estremità è una (1) e la molteplicità della Book estremità è molte (*), a indicare che un editore pubblica molti libri e un libro è pubblicato da un unico editore.

Modello di esempio con tre tipi di entità

Il ADO.NET Entity Framework usa un linguaggio specifico del dominio (DSL) denominato linguaggio CSDL (Conceptual Schema Definition Language) per definire modelli concettuali. Il file CSDL seguente definisce l'associazione PublishedBy illustrata nel diagramma precedente:

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

Vedere anche