Condividi tramite


Modellazione dei dati in Entity Framework

Entity Data Model (EDM) è un modello entità-relazione. Il modello EDM definisce i dati in un formato neutro non vincolato dalla struttura di linguaggi di programmazione o database relazionali. Gli schemi EDM vengono utilizzati per specificare i dettagli di entità e relazioni e per implementarli come strutture dei dati.

Un'entità è un elemento nel dominio dell'applicazione che deve essere rappresentato dai dati. Esempi di entità e relazioni sono presenti in una tipica applicazione line-of-business (LOB). Le entità nel dominio di un'applicazione line-of-business possono includere clienti, ordini, righe di ordine, fornitori, prodotti, venditori, spedizionieri, fatture e così via. Un oggetto EntityType EDM è la specifica per un tipo di dati che rappresenta l'entità nel dominio dell'applicazione.

Una relazione è la connessione logica tra entità, ad esempio la connessione logica tra un ordine di merce e il cliente che effettua l'ordine. Poiché a un cliente possono essere associati molti ordini, tra un cliente e i relativi ordini esiste una relazione uno-a-molti. Tra prodotti e fornitori può essere presente una relazione molti-a-molti.

La definizione di entità e relazioni può essere un processo molto complesso. Un'operazione di base come un ordine di merce in un'applicazione line-of-business richiede una quantità sorprendente di dettagli. Un ordine di merce può ad esempio presentarsi in diverse forme. Potrebbe trattarsi di un ordine di magazzino, un ordine telefonico, un ordine via Internet e un ordine tramite catalogo. Nel modello EDM i dettagli di ogni tipo di ordine sono specificati concettualmente nella sintassi XML. Le proprietà di ogni tipo di ordine e qualsiasi vincolo necessario vengono propagati alle applicazioni che utilizzano i dati basati sullo schema concettuale.

Nel modello EDM le entità e le relative relazioni vengono modellate utilizzando due tipi di base.

  • EntityType: specifica astratta per i dettagli di una struttura dei dati nel dominio dell'applicazione.

  • AssociationType: connessione logica tra tipi.

Uno schema di progettazione EDM definisce la struttura, la semantica, i vincoli e le relazioni delle entità nel dominio di un'applicazione. Nell'implementazione EDM di Object Services questo schema concettuale è mappato a un altro schema che contiene i metadati che descrivono il modello di archiviazione, in genere costituito da tabelle in un database. Lo schema concettuale viene utilizzato per generare le classi di un modello a oggetti programmabile che verranno utilizzate nel codice dell'applicazione. Lo schema concettuale e lo schema di archiviazione sono utilizzati anche da Entity Framework per convalidare e aggiornare i dati dell'applicazione, nonché per eseguire query su tali dati, in fase di esecuzione.

Contenuto della sezione

Vedere anche

Concetti

Implementazione di entità (EDM)
Implementazione delle associazioni (EDM)
Linguaggio Entity SQL

Altre risorse

Specifiche EDM
Applicazioni di esempio (Entity Framework)