Freigeben über


Hinzufügen von "DataRelations"

In einem DataSet mit mehreren DataTable-Objekten können Sie mithilfe von DataRelation-Objekten eine Beziehung zwischen zwei Tabellen herstellen, um durch die Tabellen navigieren und untergeordnete oder übergeordnete Zeilen aus einer verknüpften Tabelle zurückgeben zu können.

Die zum Erstellen einer DataRelation erforderlichen Argumente sind ein Name für die zu erstellende DataRelation und ein Array aus einem oder mehreren DataColumn-Verweisen auf die Spalten, die in der Beziehung als übergeordnete und untergeordnete Spalten dienen. Nach dem Erstellen einer DataRelation können Sie damit zwischen Tabellen navigieren und Werte abrufen.

Beim Hinzufügen einer DataRelation zu einem DataSet wird standardmäßig der übergeordneten Tabelle eine UniqueConstraint und der untergeordneten Tabelle eine ForeignKeyConstraint hinzugefügt. Weitere Informationen zu diesen Standardconstraints finden Sie unter DataTable-Constraints.

Das folgende Codebeispiel erstellt eine DataRelation mithilfe von zwei DataTable-Objekten in einem DataSet. Jede DataTable enthält eine Spalte mit dem Namen CustID, die als Verknüpfung zwischen den beiden DataTable-Objekten fungiert. Das Beispiel fügt der Relations-Auflistung des DataSet eine einzelne DataRelation hinzu. Das erste Argument im Beispiel gibt den Namen der zu erstellenden DataRelation an. Das zweite Argument legt die übergeordnete DataColumn fest, das dritte Argument die untergeordnete DataColumn.

customerOrders.Relations.Add("CustOrders", _  
  customerOrders.Tables("Customers").Columns("CustID"), _  
  customerOrders.Tables("Orders").Columns("CustID"))  
customerOrders.Relations.Add("CustOrders",  
  customerOrders.Tables["Customers"].Columns["CustID"],  
  customerOrders.Tables["Orders"].Columns["CustID"]);  

Eine DataRelation verfügt auch über eine Nested-Eigenschaft. Wenn diese auf true festgelegt ist, werden die Zeilen der untergeordneten Tabelle innerhalb der zugeordneten Zeile der übergeordneten Tabelle geschachtelt, wenn sie mit WriteXml als XML-Elemente geschrieben werden. Weitere Informationen finden Sie unter Using XML in a DataSet (Verwenden von XML in einem DataSet).

Siehe auch