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


DataRelation Класс

Определение

Представляет отношение "родительский-дочерний объект" между двумя объектами DataTable.

public ref class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
public class DataRelation
public class DataRelation
[System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))]
[System.Serializable]
public class DataRelation
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
type DataRelation = class
type DataRelation = class
[<System.ComponentModel.TypeConverter(typeof(System.Data.RelationshipConverter))>]
[<System.Serializable>]
type DataRelation = class
Public Class DataRelation
Наследование
DataRelation
Атрибуты

Примеры

В следующем примере создается новый DataRelation объект и добавляется в DataRelationCollectionDataSetобъект объекта .

private void CreateRelation()
{
    // Get the DataColumn objects from two DataTable objects
    // in a DataSet. Code to get the DataSet not shown here.
    DataColumn parentColumn =
        DataSet1.Tables["Customers"].Columns["CustID"];
    DataColumn childColumn =
        DataSet1.Tables["Orders"].Columns["CustID"];
    // Create DataRelation.
    DataRelation relCustOrder;
    relCustOrder = new DataRelation("CustomersOrders",
        parentColumn, childColumn);
    // Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder);
}
Private Sub CreateRelation()
    ' Get the DataColumn objects from two DataTable objects 
    ' in a DataSet. Code to get the DataSet not shown here.
    Dim parentColumn As DataColumn = _
        DataSet1.Tables("Customers").Columns("CustID")
    Dim childColumn As DataColumn = DataSet1.Tables( _
        "Orders").Columns("CustID")

    ' Create DataRelation.
    Dim relCustOrder As DataRelation
    relCustOrder = New DataRelation( _
        "CustomersOrders", parentColumn, childColumn)

    ' Add the relation to the DataSet.
    DataSet1.Relations.Add(relCustOrder)
End Sub

Комментарии

Используется DataRelation для связи двух DataTable объектов друг с другом с помощью DataColumn объектов . Например, в отношениях "Клиент-заказы" таблица "Клиенты" является родительской, а таблица "Заказы" является дочерним элементом связи. Это похоже на связь первичного и внешнего ключей. Дополнительные сведения см. в разделе Навигация по даннымRelations.

Связи создаются между совпадающими столбцами в родительской и дочерней таблицах. То есть DataType значения для обоих столбцов должны быть идентичными.

Связи также могут каскадировать различные изменения от родительской DataRow к его дочерним строкам. Чтобы управлять изменением значений в дочерних строках, добавьте ForeignKeyConstraint в ConstraintCollectionDataTable объект объекта . Определяет ConstraintCollection , какое действие следует предпринять при удалении или обновлении значения в родительской таблице.

DataRelation При создании он сначала проверяет, можно ли установить связь. После добавления DataRelationCollectionв объект связь поддерживается путем запрета любых изменений, которые сделают ее недействительной. Между периодом DataRelation создания и добавления DataRelationCollectionв можно внести дополнительные изменения в родительские или дочерние строки. Исключение создается, если это вызывает связь, которая больше не является допустимой.

Примечание

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

DataRelationОбъекты содержатся в объекте DataRelationCollection, к которому можно получить доступ через Relations свойство DataSet, а ChildRelations также свойства DataTableи ParentRelations объекта .

Конструкторы

DataRelation(String, DataColumn, DataColumn)

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

DataRelation(String, DataColumn, DataColumn, Boolean)

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

DataRelation(String, DataColumn[], DataColumn[])

Инициализирует новый экземпляр класса DataRelation с использованием указанного имени DataRelation и соответствующих массивов родительских и дочерних объектов DataColumn.

DataRelation(String, DataColumn[], DataColumn[], Boolean)

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

DataRelation(String, String, String, String, String, String[], String[], Boolean)

Этот конструктор предназначен для поддержки режима разработки в среде Visual Studio.

DataRelation(String, String, String, String[], String[], Boolean)

Этот конструктор предназначен для поддержки режима разработки в среде Visual Studio.

Свойства

ChildColumns

Возвращает дочерние объекты DataColumn этого отношения.

ChildKeyConstraint

Возвращает ForeignKeyConstraint для отношения.

ChildTable

Возвращает дочернюю таблицу этого отношения.

DataSet

Возвращает объект DataSet, которому принадлежит объект DataRelation.

ExtendedProperties

Возвращает коллекцию, в которой хранятся настраиваемые свойства.

Nested

Возвращает или задает значение, которое указывает, являются ли объекты DataRelation вложенными.

ParentColumns

Возвращает массив объектов DataColumn, являющихся родительскими столбцами объекта DataRelation.

ParentKeyConstraint

Возвращает UniqueConstraint, которое обеспечивает уникальность значений в родительском столбце объекта DataRelation.

ParentTable

Возвращает родительский объект DataTable этого объекта DataRelation.

RelationName

Возвращает или задает имя, используемое для извлечения DataRelation из DataRelationCollection.

Методы

CheckStateForProperty()

Этот метод служит для поддержки инфраструктуры .NET и не предназначен для непосредственного использования в коде.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnPropertyChanging(PropertyChangedEventArgs)

Этот член поддерживает инфраструктуру .NET и не предназначен для непосредственного использования из кода.

RaisePropertyChanging(String)

Этот член поддерживает инфраструктуру .NET и не предназначен для непосредственного использования из кода.

ToString()

Возвращает RelationName, если он существует.

Применяется к

Потокобезопасность

Этот тип является безопасным для многопоточных операций чтения. Необходимо синхронизировать все операции записи.

См. также раздел