Partager via


Configuration du contrôle EntityDataSource

Mise à jour : novembre 2007

Le contrôle EntityDataSourcesimplifie la liaison de données définie par un modèle EDM (Entity Data Model) aux contrôles dans une application Web ASP.NET en tirant parti des composants Object Services d'ADO.NET Entity Framework. Cela permet au contrôle de composer et d'exécuter des requêtes d'objet et de lier les contrôles aux objets retournés, qui sont des instances des types d'entité définis dans le modèle EDM. Pour plus d'informations, consultez Vue d'ensemble d'Object Services (Entity Framework).

Vous devez configurer les propriétés du contrôle EntityDataSource pour pouvoir assurer la connexion au modèle EDM et retourner les types d'entité corrects. Lorsque vous définissez les propriétés ConnectionString et DefaultContainerName, le contrôle EntityDataSource peut créer ObjectContext qu'il utilise pour exécuter des requêtes d'objet. Lorsque vous définissez les propriétés EntitySetName et EntityTypeFilter, vous définissez le type de ObjectQuery<T> que le contrôle EntityDataSource compose.

Remarque :

Pour utiliser le contrôle EntityDataSource, vous devez ajouter une référence dans votre application à la DLL qui contient le modèle EDM et les fichiers de mappage, ainsi que les classes qui représentent les types d'entité et ObjectContext.

Chaîne de connexion

Vous pouvez initialiser la propriété ConnectionString du contrôle EntityDataSource à partir d'une chaîne de connexion au modèle EDM stockée dans l'élément connectionStrings du fichier de configuration de l'application. Lorsque vous créez le modèle EDM en utilisant l'Assistant EDM, vous créez une connexion au modèle EDM nommée dans le fichier de configuration de l'application. Vous pouvez ensuite afficher cette connexion en tant qu'option dans l'Assistant Configuration de la source de données du concepteur EntityDataSource. Pour plus d'informations, consultez Assistant Configuration de la source de données (Contrôle EntityDataSource).

Contexte de l'objet

Dans Object Services, un ObjectContext typé représente le conteneur d'entités du modèle conceptuel. La classe ObjectContext est la classe principale permettant d'interagir avec les données définies par un modèle EDM. Ces données se présentent sous la forme d'objets qui sont des instances des types d'entité. Un ObjectContext typé encapsule une connexion à la base de données, les métadonnées qui décrivent le modèle et un objet ObjectStateManager qui suit les objets pendant les opérations de création, de suppression et de mise à jour. La propriété ContextTypeName du contrôle EntityDataSource est une chaîne qui spécifie le nom de type qualifié complet du ObjectContext typé que le contrôle EntityDataSource utilise. Si la propriété ContextTypeName n'est pas spécifiée, vous devez définir à la fois les propriétés DefaultContainerName et ConnectionString du contrôle EntityDataSource pour créer ObjectContext. Vous pouvez accéder au ObjectContext que le contrôle EntityDataSource utilise à partir de la propriété ContextType. Pour plus d'informations, consultez Gestion du cycle de vie du contexte de l'objet (EntityDataSource).

Types d'entité

Dans le modèle EDM, un jeu d'entités est un conteneur logique pour les types d'entité définis dans le schéma conceptuel. Vous pouvez spécifier le jeu d'entités du type des objets auxquels le contrôle EntityDataSource accède via EntitySetName. La valeur de la propriété EntitySetName est l'instruction SELECT par défaut que le contrôle utilise. Le paramètre n'est pas requis si la requête est spécifiée en tant qu'expression Entity SQL fournie à la propriété CommandText. Pour plus d'informations, consultez Texte de commande personnalisée (EntityDataSource).

Lorsque le contrôle EntityDataSource doit retourner un type dérivé spécifique, vous devez également spécifier le nom de ce type dérivé dans la propriété EntityTypeFilter. Si la propriété EntitySetName spécifie un jeu d'entités qui peut générer des résultats polymorphes, la propriété EntityTypeFilter est requise pour pouvoir modifier les données. La définition de la propriété EntityTypeFilter équivaut à appliquer la méthode OfType<TResultType> à ObjectQuery<T>. Si la liaison de données est en lecture seule, alors la propriété EntityTypeFilter n'est pas requise. Dans ce cas, les propriétés de l'objet que la requête retourne correspondront à celles du type d'entité par défaut pour le jeu d'entités.

Voir aussi

Concepts

Concepteur EntityDataSource

Assistant Configuration de la source de données (Contrôle EntityDataSource)

Texte de commande personnalisée (EntityDataSource)

Autres ressources

Requêtes d'objet (Entity Framework)