Funzionalità di Entity Framework
Un'applicazione Entity Framework richiede la creazione di un modello concettuale che definisce le entità e le relazioni, di un modello logico che rappresenta il modello relazionale sottostante e dei mapping tra i due modelli. Un modello a oggetti programmabile viene quindi generato dal modello concettuale.
Le funzionalità e i componenti seguenti di Entity Framework funzionano insieme per fornire un ambiente di programmazione end-to-end.
Entity Data Model (EDM) è l'elemento centrale di Entity Framework e specifica lo schema di progettazione utilizzato per compilare le classi programmabili utilizzate dal codice dell'applicazione. Le strutture di archiviazione per rendere persistenti i dati sono rappresentate in uno schema di archiviazione, mentre una specifica di mapping connette lo schema di progettazione allo schema di archiviazione. Le entità concettuali possono essere materializzate come oggetti oppure possono essere lette in forma serializzata utilizzando un lettore di dati. Gli sviluppatori possono estendere questi oggetti in modo da supportare le diverse esigenze delle applicazioni. Per ulteriori informazioni, vedere Entity Data Model.
Il componente Object Services consente ai programmatori di utilizzare le classi CLR (Common Language Runtime) generate dal modello concettuale. Questo componente fornisce inoltre il supporto dell'infrastruttura per Entity Framework, offrendo servizi quali la gestione dello stato, il rilevamento delle modifiche, la risoluzione di identità, il caricamento e l'esplorazione di relazioni, la propagazione delle modifiche apportate agli oggetti in modifiche del database e il supporto per le query per Entity SQL. Per ulteriori informazioni, vedere Object Services (Entity Framework).
LINQ to Entities fornisce supporto LINQ (Language Integrated Query) per l'esecuzione di query sulle entità. LINQ to Entities consente agli sviluppatori di scrivere query sul database utilizzando uno dei linguaggi di programmazione .NET Framework supportati, ovvero Visual Basic o Visual C#. Per ulteriori informazioni, vedere LINQ to Entities.
Entity SQL è un linguaggio di tipo SQL indipendente dall'archiviazione progettato per eseguire query sulle rappresentazioni grafiche dettagliate degli oggetti basati su Entity Data Model (EDM) e per modificare tali rappresentazioni. Per ulteriori informazioni, vedere Linguaggio Entity SQL.
Il provider EntityClient estende il modello del provider ADO.NET tramite l'accesso ai dati in termini di relazioni ed entità concettuali. Il provider esegue query che utilizzano Entity SQL. Entity SQL fornisce il linguaggio di query sottostante che consente la comunicazione di EntityClient con il database. Per ulteriori informazioni, vedere Provider EntityClient per Entity Framework.
Il componente dei metadati ADO.NET gestisce i metadati necessari per Entity Framework per la fase di progettazione e di esecuzione. Tutti i metadati associati ai modelli e ai mapping sono esposti tramite interfacce di metadati indipendenti dal meccanismo utilizzato per l'archiviazione dei metadati. Il meccanismo di archiviazione corrente utilizza file basati su tre dialetti XML: CSDL (Conceptual Schema Definition), SSDL (Store Schema Definition Language) e MSL (Mapping Specification Language). Per ulteriori informazioni, vedere Metadati ADO.NET.
Entity Framework include un set di strumenti in continua evoluzione che consentono di generare i mapping e le classi parziali che rappresentano le entità nel modello concettuale. Per ulteriori informazioni, vedere Strumenti di Entity Data Model.
Entity Framework include un provider di dati SqlClient aggiornato che supporta gli alberi dei comandi canonici. Per ulteriori informazioni, vedere .Provider di dati .NET Framework per SQL Server (SqlClient) per Entity Framework.
Diagramma dell'architettura
Nel diagramma seguente viene illustrata la correlazione tra le varie interfacce di programmazione accessibili all'utente in Entity Framework. Una freccia rivolta verso il basso indica una query sull'origine dati e una freccia rivolta verso l'alto indica i dati restituiti. Tramite Object Services viene generato un albero dei comandi canonico che rappresenta un'operazione LINQ to Entities o Entity SQL sul modello concettuale. Il provider EntityClient trasforma questo albero dei comandi canonico, basato su EDM, in un nuovo albero dei comandi canonico che rappresenta un'operazione equivalente sull'origine dati.
Vedere anche
Concetti
Terminologia relativa a Entity Framework
Introduzione a Entity Framework
Altre risorse
Riferimenti alle funzionalità (Entity Framework)
Guida introduttiva (Entity Framework)