Condividi tramite


Provider EntityClient per Entity Framework

EntityClient è un provider di dati utilizzato dalle applicazioni Entity Framework per accedere a dati descritti in un modello concettuale. Per informazioni sui modelli concettuali, vedere Modellazione e mapping (Entity Framework). EntityClient utilizza altri provider di dati .NET Framework per accedere all'origine dati, ad esempio il provider di dati .NET Framework per SQL Server (SqlClient) in caso di accesso a un database SQL Server. Per informazioni sul provider SqlClient, vedere Provider di dati .NET Framework per SQL Server (SqlClient) per Entity Framework. Il provider EntityClient viene implementato nello spazio dei nomi System.Data.EntityClient.

Gestione di connessioni

Entity Framework è compilato in base a provider di dati ADO.NET specifici dell'archiviazione fornendo un oggetto EntityConnection a un provider di dati e a un database relazionale sottostanti. Per costruire un oggetto EntityConnection, è necessario fare riferimento a un set di metadati che contiene i mapping e i modelli necessari, nonché a una stringa di connessione e a un nome di provider di dati specifici dell'archiviazione. Dopo avere stabilito una connessione (oggetto EntityConnection), è possibile accedere alle entità tramite le classi generate dal modello concettuale.

È possibile specificare una stringa di connessione nel file app.config.

System.Data.EntityClient include anche la classe EntityConnectionStringBuilder. Questa classe consente agli sviluppatori di creare a livello di codice stringhe di connessione sintatticamente corrette, nonché di analizzare e ricompilare le stringhe di connessione esistenti, utilizzando le proprietà e i metodi della classe. Per ulteriori informazioni, vedere Procedura: compilare una stringa di connessione EntityConnection (Entity Framework).

Creazione di query

Entity SQL è un linguaggio SQL indipendente dall'archiviazione che interagisce direttamente con gli schemi di entità concettuali e supporta i concetti EDM, quali l'ereditarietà e le relazioni. La classe EntityCommand viene utilizzata per eseguire un comando Entity SQL su un modello di entità. Quando si costruiscono oggetti EntityCommand, è possibile specificare un nome di stored procedure o un testo della query. Entity Framework funziona con provider di dati specifici dell'archiviazione per convertire il linguaggio Entity SQL generico in query specifiche dell'archiviazione. Per ulteriori informazioni sulla scrittura di query Entity SQL , vedere Linguaggio Entity SQL.

Nell'esempio seguente viene creato un oggetto EntityCommand e viene assegnato un testo della query Entity SQL alla proprietà System.Data.EntityClient.EntityCommand.CommandText. Questa query Entity SQL consente di richiedere i prodotti ordinati in base al prezzo di listino nel modello concettuale. Il codice seguente non comporta alcuna conoscenza del modello di archiviazione.

EntityCommand cmd = conn.CreateCommand();

cmd.CommandText = @" SELECT VALUE p

FROM AdventureWorksEntities.Product AS p

ORDER BY p.ListPrice ";

Esecuzione di query

Quando una query viene eseguita, viene analizzata e convertita in una struttura ad albero dei comandi canonica. Tutte le elaborazioni successive vengono eseguite nella struttura ad albero dei comandi. La struttura ad albero dei comandi costituisce il mezzo di comunicazione tra System.Data.EntityClient e il provider di dati .NET Framework sottostante, ad esempio System.Data.SqlClient.

EntityDataReader espone i risultati dell'esecuzione di un oggetto EntityCommand su un modello concettuale. Per eseguire il comando che restituisce EntityDataReader, chiamare ExecuteReader. EntityDataReader implementa IExtendedDataRecord per descrivere risultati completamente strutturati.

Gestione di transazioni

In Entity Framework è possibile utilizzare le transazioni in modo esplicito e in modo automatico. Le transazioni automatiche utilizzano lo spazio dei nomi System.Transactions e le transazioni esplicite utilizzano la classe EntityTransaction.

Per aggiornare i dati esposti tramite un modello concettuale. Vedere Procedura: gestire transazioni in Entity Framework.

Contenuto della sezione

Procedura: compilare una stringa di connessione EntityConnection (Entity Framework)

Procedura: eseguire una query che restituisce risultati PrimitiveType (EntityClient)

Procedura: eseguire una query che restituisce risultati StructuralType (EntityClient)

Procedura: eseguire una query che restituisce risultati RefType (EntityClient)

Procedura: eseguire una query che restituisce tipi complessi (EntityClient)

Procedura: eseguire una query che restituisce raccolte annidate (EntityClient)

Procedura: eseguire una query Entity SQL con parametri utilizzando EntityCommand (EntityClient)

Procedura: eseguire una stored procedure con parametri utilizzando EntityCommand (EntityClient)

Procedura: eseguire una query polimorfica (EntityClient)

Procedura: navigare nelle relazioni con l'operatore Navigate (EntityClient)

Vedere anche

Concetti

Gestione di connessioni e transazioni (Entity Framework)
ADO.NET Entity Framework

Altre risorse

Riferimenti del linguaggio (Entity Framework)