Vue d'ensemble des contrôles de source de données

Mise à jour : novembre 2007

ASP.NET comprend des contrôles de source de données qui vous permettent d'utiliser différents types de sources de données, comme une base de données, un fichier XML ou un objet métier de couche intermédiaire. Les contrôles de source de données se connectent à une source de données et en récupèrent les données pour permettre à d'autres contrôles de s'y connecter sans avoir besoin du code. Ils peuvent également prendre en charge la modification des données.

Cette rubrique fournit des informations sur les différents types de contrôles de source de données dans ASP.NET. Le modèle de contrôle de source de données étant extensible, vous pouvez créer également vos propres contrôles de source de données qui interagissent avec différentes sources de données ou qui fournissent des fonctionnalités supplémentaires pour une source de données existante.

Comparaison des contrôles de source de données

Le .NET Framework comprend des contrôles de source de données afin de prendre en charge divers scénarios de liaison de données. Le tableau suivant décrit les contrôles de source de données intégrés. Vous trouverez plus loin dans cette rubrique davantage de détails sur chaque type de contrôle de source de données.

Contrôle de source de données

Description

LinqDataSource

Vous permet d'utiliser les LINQ (Language-Integrated Query) dans une page Web ASP.NET par un balisage déclaratif afin de récupérer et de modifier des données d'un objet de données. Prend en charge la génération automatique des commandes Select, Update, Insert et Delete. Le contrôle prend également en charge les fonctions de tri, de filtrage et de pagination.

EntityDataSource

Vous permet de lier aux données qui sont basées sur le modèle EDM (Entity Data Model). Prend en charge la génération automatique des commandes Update, Insert, Delete et Select. Le contrôle prend également en charge les fonctions de tri, de filtrage et de pagination.

ObjectDataSource

Permet d'utiliser un objet métier ou une autre classe et de créer des applications Web qui s'appuient sur des objets de couche intermédiaire pour gérer des données. Prend en charge des procédures de tri et des scénarios de pagination évolués, indisponibles avec les autres contrôles de source de données.

SqlDataSource

Permet d'utiliser les bases de données Microsoft SQL Server, OLE DB, ODBC ou Oracle. Avec SQL Server, prend en charge des fonctions évoluées de mise en cache. Le contrôle prend en charge également le tri, le filtrage et la pagination lorsque les données sont retournées sous forme d'objet DataSet.

AccessDataSource

Permet d'utiliser une base de données Microsoft Access. Prend en charge le tri, le filtrage et la pagination lorsque les données sont retournées sous forme d'objet DataSet.

XmlDataSource

Permet d'utiliser un fichier XML, surtout pour les contrôles serveur ASP.NET hiérarchiques tels que les contrôles TreeView ou Menu. Prend en charge des fonctions de filtrage à l'aide d'expressions XPath et permet d'appliquer une transformation XSLT aux données. XmlDataSource permet de mettre à jour des données en enregistrant le document XML entier avec ses modifications.

SiteMapDataSource

Utilisé avec la navigation de site ASP.NET. Pour plus d'informations, consultez Vue d'ensemble de la navigation de site ASP.NET.

Contrôle LinqDataSource

Le contrôle LinqDataSource vous permet d'utiliser LINQ dans une page ASP.NET pour récupérer des données d'une table de base de données ou d'une collecte de données en mémoire. Vous pouvez utiliser un balisage déclaratif afin d'écrire l'ensemble des conditions requises pour récupérer, filtrer, classer et regrouper les données. Lorsque vous récupérez des données d'une table de base de données SQL, vous pouvez également configurer un contrôle LinqDataSource pour gérer les opérations de mise à jour, d'insertion et de suppression de données. Pour ce faire, vous pouvez écrire des commandes SQL dédiées à ces tâches. Grâce au contrôle LinqDataSource, vous pouvez réduire la quantité de code nécessaire aux opérations de données, par rapport à celle nécessaire pour les mêmes opérations dans d'autres contrôles de source de données.

Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web LinqDataSource.

Contrôle SqlDataSource

Le contrôle SqlDataSource récupère et modifie des données à l'aide de commandes SQL. Le contrôle SqlDataSource fonctionne avec les bases de données Microsoft SQL Server, OLE DB, ODBC et Oracle.

Le contrôle SqlDataSource peut retourner les résultats sous forme d'objet DataReader ou DataSet. Il prend en charge le tri, le filtrage et la mise en cache lorsque les résultats sont retournés sous forme de DataSet. Lorsque vous utilisez Microsoft SQL Server, le contrôle présente l'avantage supplémentaire de pouvoir invalider les résultats en cache lorsque la base de données change, à l'aide d'un objet SqlCacheDependency.

Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web SqlDataSource.

Contrôle EntityDataSource

Le contrôle EntityDataSource prend en charge les scénarios de liaison de données basés sur le modèle EDM (Entity Data Model). Cette spécification représente les données sous forme de jeux d'entités et de relations. Entity Framework utilise le modèle EDM dans le mappage relationnel objet et dans d'autres scénarios tels que les services de données ADO.NET. Le contrôle EntityDataSource prend en charge Entity-SQL (eSQL) comme langage de requête, et il prend en charge la spécification de requête exposée par la classe ObjectQuery<T>.

Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web EntityDataSource.

Contrôle ObjectDataSource

Le contrôle ObjectDataSource fonctionne avec un objet métier ou une autre classe dans les applications Web qui s'appuient sur les objets métier de couche intermédiaire pour gérer des données. Il est conçu pour interagir avec un objet qui implémente une ou plusieurs méthodes pour récupérer ou modifier des données. Lorsque les contrôles liés aux données interagissent avec le contrôle ObjectDataSource pour récupérer ou modifier des données, le contrôle ObjectDataSource passe des valeurs à l'objet source depuis le contrôle lié sous forme de paramètres dans les appels de méthode.

Les méthodes de récupération de données de l'objet source doivent retourner un objet DataSet, DataTable ou DataView, ou un objet qui implémente l'interface IEnumerable. Si les données sont retournées sous forme d'objet DataSet, DataTable ou DataView, le contrôle ObjectDataSource peut les mettre en cache et les filtrer. Vous pouvez également mettre en place des scénarios de pagination évolués si l'objet source accepte les informations de taille de page et d'index des enregistrements de la part du contrôle ObjectDataSource.

Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web ObjectDataSource.

Contrôle XmlDataSource

Le contrôle XmlDataSource lit et écrit les données XML de façon à ce que vous puissiez les utiliser à l'aide de contrôles tels que les contrôles TreeView et Menu. Le contrôle XmlDataSource peut lire ou écrire un fichier XML ou une chaîne de XML. Si le contrôle fonctionne avec un fichier XML, il peut réécrire du XML modifié dans le fichier source. Si un schéma décrivant les données est disponible, le contrôle XmlDataSource peut l'utiliser pour exposer les données à l'aide de membres typés.

Vous pouvez appliquer une transformation XSLT aux données XML, ce qui vous permet de restructurer les données brutes du fichier XML dans un format mieux adapté au contrôle que vous souhaitez lier aux données XML.

Vous pouvez également appliquer des expressions XPath aux données XML, ce qui vous permet de filtrer les données XML pour ne retourner que certains nœuds de l'arborescence XML, de rechercher des nœuds comportant des valeurs spécifiques, et ainsi de suite. L'utilisation d'une expression XPath désactive la possibilité d'insérer de nouvelles données.

Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web XmlDataSource.

Contrôle AccessDataSource

Le contrôle AccessDataSource est une version spécialisée du contrôle SqlDataSource, conçue pour fonctionner spécifiquement avec les fichiers Microsoft Access .mdb. Comme pour le contrôle SqlDataSource, vous utilisez des instructions SQL pour définir le mode d'extraction et de récupération des données par le contrôle.

Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web AccessDataSource.

Contrôle SiteMapDataSource

Le contrôle SiteMapDataSource fonctionne avec les plans de sites ASP.NET et fournit les données de navigation dans le site. Il est couramment utilisé avec le contrôle Menu. Le contrôle SiteMapDataSource est également utile lorsque vous souhaitez personnaliser la navigation dans le site à l'aide de données sitemap et de contrôles serveur Web non conçus spécialement pour la navigation, par exemple les contrôles TreeView ou DropDownList.

Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web SiteMapDataSource.

Voir aussi

Concepts

Vue d'ensemble de l'accès aux données ASP.NET

Liaison à des bases de données

Utilisation de paramètres avec des contrôles de source de données