Share via


添加 DataRelation (ADO.NET)

更新:November 2007

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

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

默认情况下,向 DataSet 中添加 DataRelation 会将一个 UniqueConstraint 添加到父表中并将一个 ForeignKeyConstraint 添加到子表中。 有关这些默认约束的更多信息,请参见数据表约束 (ADO.NET)

以下代码示例使用 DataSet 中的两个 DataTable 对象来创建一个 DataRelation。 每个 DataTable 包含一个名为 CustID 的列,它用作两个 DataTable 对象之间的链接。 该示例将单个 DataRelation 添加到 DataSetRelations 集合中。 该示例中的第一个参数指定所创建的 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 (ADO.NET)

请参见

其他资源

DataSet、DataTable 和 DataView (ADO.NET)