Condividi tramite


tipo di associazione (Entity Data Model)

Un tipo di associazione (detto anche associazione) è il blocco predefinito fondamentale per la descrizione delle relazioni in Entity Data Model (EDM). 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 una di Order). Le istanze dell'associazione sono raggruppate logicamente in un set di associazioni.

Una definizione di associazione contiene le informazioni seguenti:

  • Un nome univoco (obbligatorio).

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

    Ee382823.note(it-it,VS.100).gifNota:
    Un'associazione non può rappresentare una relazione tra più di due tipi di entità.Un'associazione può tuttavia definire una relazione interna specificando lo stesso tipo di entità per ognuna delle entità finali dell'associazione.

  • Un vincolo di integrità referenziale (facoltativo).

Ogni entità finale dell'associazione deve specificare 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 (*). Le istanze del tipo di entità in corrispondenza di un'entità finale di un'associazione sono accessibili attraverso proprietà di navigazione o chiavi esterne se sono esposte in un tipo di entità. Per ulteriori informazioni, vedere Entity Data Model - Chiavi esterne.

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.

Modello di esempio

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 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

Concetti

Concetti chiave di Entity Data Model
Entity Data Model