Datasets ADO.NET

L’objet DataSet joue un rôle essentiel dans la prise en charge de scénarios de données déconnectés et distribués avec ADO.NET. Le DataSet est une représentation résidente en mémoire de données, qui propose un modèle de programmation relationnel cohérent quelle que soit la source de données. Il peut être utilisé avec plusieurs sources de données différentes, utilisé avec des données XML ou utilisé pour gérer des données locales de l'application. Le DataSet représente un ensemble de données complet, qui comprend des tables connexes, des contraintes et des relations entre les tables. L’illustration suivante montre le modèle d’objet DataSet.

ADO.Net graphic
Modèle d'objet DataSet

Les méthodes et objets contenus dans un DataSet sont cohérents avec ceux du modèle de base de données relationnelle.

Le DataSet peut également persister et recharger son contenu en tant que XML et son schéma en tant que schéma en langage XSD (XML Schema Definition). Pour plus d’informations, consultez Utilisation de XML dans un DataSet.

DataTableCollection

Un DataSet ADO.NET contient une collection de zéros ou plusieurs tables représentées par des objets DataTable. Le DataTableCollection contient tous les objets DataTable d’un DataSet.

Un DataTable est défini dans l’espace de noms System.Data et représente une seule table de données résidentes en mémoire. Il contient une collection de colonnes, représentées par un DataColumnCollection et des contraintes représentées par un ConstraintCollection, qui ensemble définissent le schéma de la table. Un DataTable contient également une collection de lignes représentées par le DataRowCollection, qui contient les données de la table. En plus de son état actuel, un DataRow conserve ses versions d'origine et actuelle afin de permettre l'identification des modifications apportées aux valeurs stockées dans la ligne.

Classe DataView

Un objet DataView vous permet de créer différentes vues des données stockées dans un objet DataTable, possibilité qui est souvent utilisée dans les applications de liaison de données. En utilisant un DataView, vous pouvez présenter les données d'une table en appliquant différents ordres de tri et filtrer les données en fonction d'un état de ligne ou d'une expression de filtre. Pour plus d’informations, consultez DataViews.

DataRelationCollection

Un DataSet contient des relations dans son objet DataRelationCollection. Une relation, représentée par l’objet DataRelation, associe les lignes d’un DataTable aux lignes d’un autre DataTable. Une relation est similaire à une jointure qui peut exister entre les colonnes clé primaire et clé étrangère dans une base de données relationnelle. Un DataRelation identifie les colonnes identiques dans deux tables d’un DataSet.

Les relations permettent la navigation entre une table et une autre dans un DataSet. Les éléments essentiels d’un DataRelation sont le nom de la relation, le nom des tables mises en relation et les colonnes connexes dans chaque table. Une relation peut être générée avec plusieurs colonnes par table en spécifiant un tableau d'objets DataColumn en tant que colonnes clés. Lorsqu’une relation est ajoutée au DataRelationCollection, vous pouvez éventuellement ajouter un UniqueKeyConstraint et un ForeignKeyConstraint pour appliquer des contraintes d’intégrité lorsque des modifications sont apportées aux valeurs de colonnes connexes.

Pour plus d’informations, consultez Ajout de DataRelations.

XML

Vous pouvez remplir un DataSet à partir d’un flux ou d’un document XML. Vous pouvez utiliser le flux ou le document XML pour fournir au DataSet soit des données, soit des informations de schéma ou les deux à la fois. Les informations fournies à partir du flux ou du document XML peuvent être combinées aux données ou aux informations de schéma déjà présentes dans le DataSet. Pour plus d’informations, consultez Utilisation de XML dans un DataSet.

ExtendedProperties

DataSet, DataTable et DataColumn sont tous assortis d’une propriété ExtendedProperties. ExtendedProperties est un élément PropertyCollection dans lequel vous pouvez placer des informations personnalisées, comme l’instruction SELECT qui a été utilisée pour générer l'ensemble de résultats, ou l'heure à laquelle les données ont été générées. La collection ExtendedProperties est rendue persistante avec les informations de schéma du DataSet.

LINQ to DataSet

LINQ to DataSet fournit les fonctionnalités LINQ (Language Integrated Query) pour traiter les données déconnectées stockées dans un DataSet. LINQ to DataSet utilise la syntaxe LINQ standard et prend en charge la vérification de la syntaxe au moment de la compilation, les types statiques et la fonctionnalité IntelliSense lorsque vous utilisez l’IDE de Visual Studio.

Pour plus d’informations, consultez LINQ to DataSet.

Voir aussi