Добавление объектов DataRelation (ADO.NET)
Обновлен: November 2007
В наборе DataSet с несколькими объектами DataTable можно использовать объекты DataRelation для связи таблиц друг с другом, для перехода по таблицам, а также для возвращения дочерних или родительских строк из связанной таблицы.
Для создания объекта DataRelation требуются следующие аргументы: имя создаваемого объекта DataRelation и массив из одной или нескольких ссылок DataColumn на столбцы, которые выступают в роли родительских или дочерних столбцов в этой связи. После создания объекта DataRelation его можно использовать, чтобы переходить между таблицами, а также получать значения.
По умолчанию при добавлении объекта DataRelation в объект DataSet в родительскую таблицу добавляется UniqueConstraint, а в дочернюю — ForeignKeyConstraint. Дополнительные сведения об этих ограничениях по умолчанию см. в разделе Ограничения DataTable (ADO.NET).
В следующем примере кода с помощью двух объектов DataTable в объекте DataSet создается объект DataRelation. Каждая таблица 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 в DataSet (ADO.NET).