Entity Framework - Architettura
L'architettura di Entity Framework, dal basso verso l'alto, è costituita da quanto segue:
Fornitori di dati
Si tratta di provider specifici dell'origine, che astraggono le interfacce ADO.NET per connettersi al database durante la programmazione in base allo schema concettuale.
Traduce i linguaggi SQL comuni come LINQ tramite l'albero dei comandi in un'espressione SQL nativa e lo esegue sul sistema DBMS specifico.
Entità cliente
Questo livello espone il livello dell'entità al livello superiore. Entity client offre agli sviluppatori la possibilità di lavorare con entità sotto forma di righe e colonne utilizzando query SQL di entità senza la necessità di generare classi per rappresentare lo schema concettuale. Entity Client mostra i livelli del framework dell'entità, che sono le funzionalità principali. Questi livelli sono chiamati Entity Data Model.
Il Storage Layer contiene l'intero schema del database in formato XML.
Il Entity Layer che è anche un file XML definisce le entità e le relazioni.
Il Mapping layer è un file XML che mappa le entità e le relazioni definite a livello concettuale con le relazioni effettive e le tabelle definite a livello logico.
Il Metadata services che è anche rappresentato in Entity Client fornisce API centralizzata per accedere ai metadati archiviati Entity, Mapping e Storage.
Servizio oggetti
Il livello Object Services è il contesto dell'oggetto, che rappresenta la sessione di interazione tra le applicazioni e l'origine dati.
L'utilizzo principale del contesto oggetto è eseguire diverse operazioni come aggiungere, eliminare istanze di entità e salvare lo stato modificato nel database con l'aiuto di query.
È il livello ORM di Entity Framework, che rappresenta il risultato dei dati per le istanze dell'oggetto delle entità.
Questi servizi consentono agli sviluppatori di utilizzare alcune delle ricche funzionalità ORM come la mappatura della chiave primaria, il rilevamento delle modifiche e così via scrivendo query utilizzando LINQ ed Entity SQL.