Übersicht über TableAdapterManager

Aktualisiert: November 2007

Der TableAdapterManager ist eine neue Komponente in Visual Studio 2008, die auf vorhandenen Datenfeatures aufbaut (typisierte DataSets und TableAdapter) und Funktionen zum Speichern von Daten in verknüpften Datentabellen bereitstellt. In TableAdapterManager werden Fremdschlüsselbeziehungen verwendet, die Datentabellen verknüpfen, um so die richtige Reihenfolge beim Senden von Einfüge-, Aktualisierungs- und Löschvorgängen vom DataSet zur Datenbank festzulegen, ohne dabei die Fremdschlüsseleinschränkungen in der Datenbank zu verletzen (referenzielle Integrität).

Fremdschlüsseleinschränkungen sind die Konsistenzregeln einer Datenbank, die das Einfüge-, Aktualisierungs- und Löschverhalten für verknüpfte Datensätze steuern. Fremdschlüsseleinschränkungen verhindern, dass übergeordnete Datensätze gelöscht werden, wenn in einer anderen Tabelle noch verknüpfte untergeordnete Datensätze vorhanden sind.

Der gesamte Vorgang der Datenspeicherung in verknüpften Datentabellen mit einem TableAdapterManager wird als Hierarchische Aktualisierung bezeichnet.

Das Speichern von geänderten Daten aus verknüpften Tabellen ist etwas komplexer als das Speichern von Daten einer einzelnen Tabelle. Das liegt daran, dass die Einfüge-, Aktualisierungs- und Löschbefehle für jede verknüpfte Tabelle in einer bestimmten Reihenfolge ausgeführt werden müssen, um eine Verletzung der in der Datenbank definierten Fremdschlüsseleinschränkungen zu verhindern. Stellen Sie sich z. B eine Auftragseingabeanwendung vor, mit der neue und bestehende Kunden und Aufträge verwaltet werden können. Wenn Sie den Datensatz eines vorhandenen Kunden löschen möchten, müssen zuvor alle Bestellungen des Kunden gelöscht werden. Wenn Sie einen Datensatz für einen neuen Kunden (mit einer Bestellung) hinzufügen möchten, muss aufgrund der Fremdschlüsseleinschränkungen in den Tabellen zuerst der Datensatz für den neuen Kunden eingefügt werden, bevor Bestellungen für diesen Kunden eingefügt werden können. Wie sich in diesen Beispielen zeigt, müssen bestimmte Datenteilmengen extrahiert werden. Außerdem müssen Aktualisierungen (Einfügen, Aktualisieren und Löschen) in der richtigen Reihenfolge gesendet werden, um die referenzielle Integrität zu gewährleisten, und um Konflikte mit den Fremdschlüsseleinschränkungen in der Datenbank zu verhindern.

Erstellen eines TableAdapterManagers

Standardmäßig wird eine TableAdapterManager-Klasse generiert, wenn in einem Projekt ein typisiertes DataSet erstellt wird. Genauer gesagt ist es der Wert in der Hierarchical Update-Eigenschaft eines DataSets, der angibt, ob ein TableAdapterManager erstellt wird. Wenn Hierarchical Update auf True festgelegt ist, wird ein TableAdapterManager erstellt. Wenn Hierarchical Update auf False festgelegt ist, wird ein DataSet erstellt ohne TableAdapterManager erstellt. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren und Deaktivieren der hierarchischen Aktualisierung.

Hinweis:

In Projekten, die mit früheren Versionen von Visual Studio erstellt wurden, ist die Hierarchical Update-Eigenschaft für hinzugefügte DataSets standardmäßig auf False festgelegt. Dies bedeutet, dass hierarchische Aktualisierungen deaktiviert sind und kein TableAdapterManager erstellt wird. Weitere Informationen zum Hinzufügen eines TableAdapterManager zu einem vorhandenen DataSet finden Sie unter Gewusst wie: Implementieren der hierarchischen Aktualisierung in vorhandenen Visual Studio-Projekten.

Referenz zu TableAdapterManager

Die TableAdapterManager-Klasse gehört nicht zu .NET Framework. Deshalb ist diese Klasse nicht in der Dokumentation enthalten. Sie wird zur Entwurfszeit beim Erstellen von DataSets erstellt.

Die folgenden Methoden und Eigenschaften der TableAdapterManager-Klasse werden häufig verwendet:

Member

Beschreibung

UpdateAll-Methode

Speichert alle Daten aus allen Datentabellen.

BackUpDataSetBeforeUpdate-Eigenschaft

Boolescher Wert. Bestimmt, ob vor dem Ausführen der TableAdapterManager.UpdateAll-Methode eine Sicherungskopie des DataSets erstellt wird.

tableNameTableAdapter-Eigenschaft

Stellt einen TableAdapter dar. Der erstellte TableAdapterManager enthält eine Eigenschaft für jeden verwalteten TableAdapter. Beispiel: Ein DataSet mit den Tabellen Customers und Orders wird mit einem TableAdapterManager erstellt, der die Eigenschaften CustomersTableAdapter und OrdersTableAdapter enthält.

UpdateOrder-Eigenschaft

Steuert die Ausführungsreihenfolge der einzelnen Einfüge-, Aktualisierungs- und Löschbefehle. Legen Sie diese Eigenschaft auf einen der Werte der TableAdapterManager.UpdateOrderOption-Enumeration fest.

Standardmäßig ist UpdateOrder auf InsertUpdateDelete festgelegt. Dies bedeutet, dass zuerst Einfügevorgänge für alle Tabellen im DataSet, danach Aktualisierungen für alle Tabellen im DataSet und anschließend Löschvorgänge für alle Tabellen im DataSet ausgeführt werden. Weitere Informationen finden Sie unter Gewusst wie: Festlegen der Reihenfolge beim Durchführen einer hierarchischen Aktualisierung.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Speichern von Daten aus verknüpften Datentabellen (Hierarchische Aktualisierung)

Exemplarische Vorgehensweise: Erstellen einer einfachen Datenanwendung

Konzepte

Übersicht über TableAdapters

Weitere Ressourcen

Hierarchische Aktualisierung

Speichern von Daten