Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

Fournisseur EntityClient pour Entity Framework

 

Le fournisseur EntityClient est un fournisseur de données utilisé par les applications Entity Framework pour accéder à des données décrites dans un modèle conceptuel. Pour obtenir des informations sur les modèles conceptuels, consultez Modélisation et mappage. EntityClient utilise d'autres fournisseurs de données .NET Framework pour accéder à la source de données. Par exemple, EntityClient utilise le fournisseur de données .NET Framework pour SQL Server (SqlClient) lors de l'accès à une base de données SQL Server. Pour plus d'informations sur le fournisseur SqlClient, voir SqlClient pour Entity Framework. Le fournisseur EntityClient est implémenté dans l'espace de noms System.Data.EntityClient.

Entity Framework s'appuie sur des données ADO.NET spécifiques au stockage en fournissant un objet EntityConnection à un fournisseur de données et à une base de données relationnelle sous-jacents. Pour construire un objet EntityConnection, vous devez faire référence à un ensemble de métadonnées contenant les modèles et le mappage requis, ainsi qu'à un nom de fournisseur de données spécifique au stockage et à une chaîne de connexion. Une fois l'objet EntityConnection en place, les entités sont accessibles par le biais des classes générées à partir du modèle conceptuel.

Vous pouvez spécifier une chaîne de connexion dans le fichier app.config.

System.Data.EntityClient comprend également la classe EntityConnectionStringBuilder. Cette classe permet aux développeurs de créer par programme des chaînes de connexion correctes du point de vue syntaxique, et d'analyser et régénérer les chaînes de connexion existantes, à l'aide des propriétés et des méthodes de la classe. Pour plus d'informations, consultez Procédure : générer une chaîne de connexion pour EntityConnection.

Le langage Entity SQL est un dialecte SQL indépendant du stockage qui fonctionne directement avec les schémas d'entité conceptuels et qui prend en charge certains concepts Entity Data Model, tels que l'héritage et les relations. La classe EntityCommand permet d'exécuter une commande Entity SQL sur un modèle d'entité. Au moment de la construction d'objets EntityCommand, vous pouvez spécifier un nom de procédure stockée ou un texte de requête. Entity Framework utilise des fournisseurs de données de stockage pour traduire le langage Entity SQL générique en requêtes de stockage. Pour plus d'informations sur l'écriture de requêtes Entity SQL, consultez Langage Entity SQL.

L'exemple suivant crée un objet EntityCommand et affecte un texte de requête Entity SQL à sa propriété EntityCommand.CommandText. Cette requête Entity SQL demande les produits classés par prix courant à partir du modèle conceptuel. Le code suivant fait une totale abstraction du modèle de stockage.

EntityCommand cmd = conn.CreateCommand();

cmd.CommandText = @" SELECT VALUE p

FROM AdventureWorksEntities.Product AS p

ORDER BY p.ListPrice ";

Lorsqu'une requête est exécutée, elle est analysée et convertie en arborescence de commandes canonique. Tous les traitements ultérieurs sont exécutés sur l'arborescence de commandes. L'arborescence de commandes est le moyen de communication entre System.Data.EntityClient et le fournisseur de données .NET Framework sous-jacent, tel que System.Data.SqlClient.

EntityDataReader expose les résultats de l'exécution d'un objet EntityCommand sur un modèle conceptuel. Pour exécuter la commande qui retourne l'objet EntityDataReader, appelez la méthode ExecuteReader. EntityDataReader implémente IExtendedDataRecord pour décrire des résultats structurés et enrichis.

Dans Entity Framework, il existe deux modes d'utilisation des transactions : automatique et explicite. Les transactions automatiques utilisent l'espace de noms System.Transactions, tandis que les transactions explicites utilisent la classe EntityTransaction.

Pour mettre à jour des données exposées via un modèle conceptuel, consultez How to: Manage Transactions in the Entity Framework.

Afficher: