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


Добавление DataRelations

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

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

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

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

См. также