Hinzufügen von 'DataRelations' (ADO.NET)
Aktualisiert: November 2007
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 als übergeordnete und untergeordnete Spalten in der Beziehung vorliegen. Nach dem Erstellen einer DataRelation können Sie damit zwischen den 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 Standardeinschränkungen finden Sie unter 'DataTable'-Einschränkungen (ADO.NET).
Im folgenden Codebeispiel wird eine DataRelation mithilfe von zwei DataTable-Objekten in einem DataSet erstellt. Jede DataTable enthält eine Spalte mit dem Namen CustID, die als Verknüpfung zwischen den beiden DataTable-Objekten fungiert. Im Beispiel wird der Relations-Auflistung des DataSet eine einzelne DataRelation hinzugefügt. Durch das erste Argument im Beispiel wird der Name der zu erstellenden DataRelation festgelegt. Das zweite Argument legt die übergeordnete DataColumn fest, während das dritte Argument die untergeordnete DataColumn festlegt.
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 für diese Eigenschaft true festgelegt ist, werden die Zeilen der untergeordneten Tabelle innerhalb der verknüpften Zeile der übergeordneten Tabelle geschachtelt, wenn sie mit WriteXml als XML-Elemente geschrieben werden. Weitere Informationen finden Sie unter Verwenden von XML in einem 'DataSet' (ADO.NET).