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 (Entity Framework). 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 Fournisseur de données .NET Framework pour SQL Server (SqlClient) pour Entity Framework. Le fournisseur EntityClient est implémenté dans l'espace de noms System.Data.EntityClient.
Gestion des connexions
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 (Entity Framework).
Création de requêtes
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 spécifiques au stockage pour traduire le langage Entity SQL générique en requêtes spécifiques au stockage. Pour plus d'informations sur l'écriture de requêtes Entity SQL , voir Langage Entity SQL.
L'exemple suivant crée un objet EntityCommand et affecte un texte de requête Entity SQL à sa propriété System.Data.EntityClient.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 ";
Exécution de requêtes
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.
Gestion des transactions
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 Procédure : gérer les transactions dans Entity Framework.
Dans cette section
Procédure : générer une chaîne de connexion pour EntityConnection (Entity Framework)
Procédure : exécuter une requête qui retourne des résultats PrimitiveType (EntityClient)
Procédure : exécuter une requête qui retourne des résultats StructuralType (EntityClient)
Procédure : exécuter une requête qui retourne des résultats RefType (EntityClient)
Procédure : exécuter une requête qui retourne des types complexes (EntityClient)
Procédure : exécuter une requête qui retourne des collections imbriquées (EntityClient)
Procédure : exécuter une requête Entity SQL paramétrable à l'aide d'EntityCommand (EntityClient)
Procédure : exécuter une procédure stockée paramétrable à l'aide d'EntityCommand (EntityClient)
Procédure : exécuter une requête polymorphe (EntityClient)
Procédure : explorer des relations à l'aide de l'opérateur Navigate (EntityClient)
Voir aussi
Concepts
Gestion des connexions et des transactions (Entity Framework)
ADO.NET Entity Framework