Progettazione e implementazione (EDM)

Gli sviluppatori di applicazioni che utilizzano Entity Data Model (EDM) definiscono i dati in uno schema di progettazione concettuale che esiste come livello intermedio indipendente tra il modello a oggetti di programmazione e le strutture di archiviazione. Questo è utile in quanto le entità e le associazioni nello schema concettuale possono essere progettate per riflettere scenari applicativi anziché tabelle di database.

Il framework EDM fornisce tipi di associazione ed entità di base utilizzati nello schema concettuale. Gli sviluppatori estendono i tipi di base in modo appropriato per le applicazioni. Sia i tipi EDM di base che le estensioni personalizzate sono definiti negli schemi XML.

Progettazione formalizzata negli schemi

I tipi EDM sono progettati negli schemi per mantenere l'integrità logica dei dati e i vincoli delle applicazioni aziendali e tecniche. Se si utilizza una progettazione puramente concettuale, è possibile esplorare tutte le permutazioni della struttura quando è ancora facile apportare modifiche. Quando la specifica astratta è completa, le entità definite negli schemi diventano i modelli struttura per gli oggetti programmabili.

I modelli a oggetti riflettono i linguaggi nei quali sono implementati. Il processo di individuazione nella progettazione di un'applicazione che utilizza EDM non è vincolato dalla sintassi del codice. La struttura dei dati in un'applicazione EDM viene specificata utilizzando uno schema concettuale e la progettazione è basata sugli scenari applicativi. Lo schema concettuale è utilizzato in ogni fase dello sviluppo.

La progettazione di un modello di dati negli schemi XML offre anche una certa indipendenza dalla tecnologia di archiviazione. Le applicazioni che utilizzano EDM possono essere adattate a qualsiasi piattaforma di archiviazione. La progettazione basata su EDM consente di risolvere molti dei problemi che devono essere affrontati tramite la normalizzazione del database quando il processo è basato su un database relazionale.

Implementazione di Object Services dagli schemi

In EDM le entità e le relazioni sono definite formalmente nella sintassi XML in uno schema di progettazione. Questo schema è mappato a un altro schema che contiene i metadati che descrivono il modello di archiviazione. I tipi di dati CLR (Common Language Runtime) per l'utilizzo nel codice dell'applicazione sono compilati in base allo schema di progettazione. Per ulteriori informazioni sugli schemi, vedere Schemi (EDM).

La progettazione di un modello di dati in base alla specifica EDM può iniziare con lo schema concettuale o essere basata su sistemi legacy generando lo schema concettuale da un database esistente. Sia che lo schema concettuale venga creato direttamente nella sintassi XML o da un database, lo schema può essere mappato ai metadati che rappresentano le strutture di archiviazione utilizzate dall'applicazione. Per ulteriori informazioni sul mapping, vedere Specifica di schemi e mapping (Entity Framework).

Al termine dell'implementazione, le istanze dei tipi di entità, ad esempio i tipi LOB cliente, ordine, dipendente e così via, possono essere dichiarate nel codice dell'applicazione come oggetti programmabili. I tipi definiti nello schema concettuale sono prototipi per i dati utilizzati dal codice dell'applicazione. Questi tipi vengono facilmente connessi all'archivio dalla specifica di mapping. È possibile eseguire query sui dati o renderli persistenti senza scrivere query SQL o istruzioni di aggiornamento.

Per ulteriori informazioni sulla definizione di entità e relazioni in EDM, vedere Tipi EDM (Entity Data Model).

Vedere anche

Concetti

Entità e relazioni (EDM)
Implementazione di entità (EDM)
Implementazione delle associazioni (EDM)

Altre risorse

Specifiche EDM
Applicazioni di esempio (Entity Framework)