Поделиться через


Добавление DataRelations

DataSet В нескольких DataTable объектах можно использовать DataRelation объекты для связи одной таблицы с другой, для перехода по таблицам и возврата дочерних или родительских строк из связанной таблицы.

Аргументы, необходимые для создания DataRelation, включают имя создаваемого DataRelation, и массив одной или нескольких ссылок DataColumn на столбцы, которые служат родительскими и дочерними столбцами в связи. После создания DataRelation его можно использовать для перехода между таблицами и получения значений.

Добавление DataRelation к DataSet, по умолчанию, добавляет UniqueConstraint в родительскую таблицу и ForeignKeyConstraint в дочернюю таблицу. Дополнительные сведения об этих ограничениях по умолчанию см. в разделе "Ограничения DataTable".

В следующем примере кода создается DataRelation с использованием двух объектов DataTable в DataSet. Каждый DataTable содержит столбец с именем CustID, который служит связью между двумя DataTable объектами. В примере добавляется один объект DataRelation в Relations коллекцию DataSet. Первый аргумент в примере указывает имя создаваемого 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 вызывает вложение строк из дочерней таблицы в соответствующую строку из родительской таблицы при записи в виде XML-элементов с помощью WriteXml. Дополнительные сведения см. в статье Об использовании XML в наборе данных.

См. также