添加 DataRelation

在包含多个 DataSet 对象的 DataTable 中,可以使用 DataRelation 对象来使一个表与另一个表相关,在多个表之间导航,以及从相关表中返回子行或父行。

创建 DataRelation 所需的自变量是所创建的 DataRelation 的名称以及对用作关系中父列和子列的那些列的一个或多个 DataColumn 引用的数组。 当创建 DataRelation 后,可以使用它在多个表之间导航和检索值。

默认情况下,向 DataSet 中添加 DataRelation 会将一个 UniqueConstraint 添加到父表中并将一个 ForeignKeyConstraint 添加到子表中。 有关这些默认约束详细信息,请参阅 DataTable 约束

以下代码示例使用 DataSet 中的两个 DataTable 对象来创建一个 DataRelation。 每个 DataTable 包含一个名为 CustID 的列,它用作两个 DataTable 对象之间的链接。 该示例将单个 DataRelation 添加到 DataSet 的 Relations 集合中。 该示例中的第一个自变量指定所创建的 DataRelation 的名称。 第二个自变量设置父 DataColumn,第三个自变量设置子 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"]);  

DataRelation 也具有 Nested 属性,如果该属性设置为 true,则来自子表的行会在使用 WriteXml 以 XML 元素形式编写时嵌套在来自父表的关联行中。 有关详细信息,请参阅在数据集中使用 XML

请参阅