ADO.NET-DataSets

Das DataSet-Objekt ist wesentlich für die Unterstützung getrennter, verteilter Datenszenarios mit ADO.NET. Das DataSet ist eine speicherresidente Datendarstellung, die, unabhängig von der jeweiligen Datenquelle, ein konsistentes relationales Programmiermodell bereitstellt. Es kann mit mehreren und unterschiedlichen Datenquellen, mit XML-Daten oder zum Verwalten lokaler Anwendungsdaten verwendet werden. Das DataSet stellt eine komplette Datengruppe einschließlich verknüpfter Tabellen, Einschränkungen und Beziehungen zwischen Tabellen dar. In der folgenden Abbildung wird das DataSet-Objektmodell gezeigt.

ADO.Net graphic
DataSet-Objektmodell

Die Methoden und Objekte in einem DataSet sind mit denen des relationalen Datenbankmodells konsistent.

Das DataSet kann seinen Inhalt auch als XML und sein Schema als XSD-Schema (XML Schema Definition Language) beibehalten und neu laden. Weitere Informationen finden Sie unter Using XML in a DataSet (Verwenden von XML in einem DataSet).

Die "DataTableCollection"

Ein ADO.NET-DataSet enthält eine Auflistung von Null oder mehreren Tabellen, die durch DataTable-Objekte dargestellt werden. Die DataTableCollection enthält alle DataTable-Objekte in einem DataSet.

Eine DataTable ist im System.Data-Namespace definiert und stellt eine einzelne Tabelle mit speicherresidenten Daten dar. Sie enthält eine Auflistung mit Spalten, die durch eine DataColumnCollection dargestellt werden, sowie Einschränkungen, die durch eine ConstraintCollection dargestellt werden. Gemeinsam definieren sie das Schema der Tabelle. Eine DataTable enthält außerdem eine durch die DataRowCollection dargestellte Auflistung von Zeilen, die die Daten in der Tabelle enthält. Eine DataRow behält nicht nur den aktuellen Status, sondern auch die aktuelle und die ursprüngliche Version bei, um Änderungen an den in der Zeile gespeicherten Werten feststellen zu können.

Die DataView-Klasse

Mit einer DataView können Sie verschiedene Ansichten der in einer DataTable gespeicherten Daten erstellen. Diese Funktion wird oft in Datenbindungsanwendungen verwendet. Mit einer DataView können Sie die Daten in einer Tabelle mit verschiedenen Sortierreihenfolgen verfügbar machen und nach Zeilenstatus oder auf der Basis eines Filterausdrucks filtern. Weitere Informationen finden Sie unter "DataViews".

Die "DataRelationCollection"

Im DataRelationCollection-Objekt eines DataSet sind Beziehungen enthalten. Eine durch das DataRelation-Objekt dargestellte Beziehung ordnet Zeilen in einer DataTable Zeilen in einer anderen DataTable zu. Eine Beziehung entspricht einem Joinpfad, der u. U. zwischen Primärschlüssel- und Fremdschlüsselspalten in einer relationalen Datenbank vorhanden ist. Eine DataRelation kennzeichnet übereinstimmende Spalten in zwei Tabellen eines DataSet.

Beziehungen ermöglichen das Navigieren zwischen Tabellen in einem DataSet. Zu den wesentlichen Elementen einer DataRelation zählen der Name der Beziehung, die Namen der Tabellen, für die eine Beziehung erstellt wird, sowie die miteinander verknüpften Spalten in jeder Tabelle. Beziehungen können mit mehreren Spalten pro Tabelle erstellt werden, indem ein Array mit DataColumn-Objekten als Schlüsselspalten angegeben wird. Wenn Sie eine Beziehung zur DataRelationCollection hinzufügen, können Sie optional eine UniqueKeyConstraint und eine ForeignKeyConstraint hinzufügen, um bei Änderungen an verknüpften Spaltenwerten Integritätseinschränkungen zu erzwingen.

Weitere Informationen finden Sie unter Hinzufügen von DataRelations.

XML

Sie können ein DataSet über einen XML-Stream oder ein XML-Dokument füllen. Die können den XML-Stream oder das XML-Dokument verwenden, um Daten oder Schemainformationen oder beides für das DataSet bereitzustellen. Die vom XML-Stream oder vom XML-Dokument bereitgestellten Daten können mit vorhandenen Daten oder Schemainformationen kombiniert werden, die bereits im DataSet enthalten sind. Weitere Informationen finden Sie unter Using XML in a DataSet (Verwenden von XML in einem DataSet).

ExtendedProperties

The DataSet, DataTable und DataColumn verfügen alle über die ExtendedProperties-Eigenschaft. Bei ExtendedProperties handelt es sich um eine PropertyCollection, in der Sie benutzerdefinierte Informationen angeben können, z. B. die SELECT-Anweisung, die zum Erstellen des Resultsets verwendet wurde, oder der Zeitpunkt, an dem die Daten erstellt wurden. Die ExtendedProperties-Auflistung wird mit den Schemainformationen für das DataSet beibehalten.

LINQ to DataSet

LINQ to DataSet bietet LINQ-Funktionen für in einem Dataset gespeicherte nicht verbundene Daten. LINQ to DataSet verwendet die LINQ-Standardsyntax und bietet Syntaxüberprüfung bei der Kompilierung, statische Typisierung und IntelliSense-Unterstützung, wenn Sie die Visual Studio-IDE verwenden.

Weitere Informationen finden Sie unter LINQ to DataSet.

Siehe auch