DataRelation DataRelation DataRelation DataRelation Class

Определение

Представляет отношение "родительский-дочерний объект" между двумя объектами DataTable.Represents a parent/child relationship between two DataTable objects.

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

Примеры

В следующем примере создается новый DataRelation и добавляет ее к DataRelationCollection из DataSet.The following example creates a new DataRelation and adds it to the DataRelationCollection of a DataSet.

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 объектов.A DataRelation is used to relate two DataTable objects to each other through DataColumn objects. Например в отношении Customer/Orders, таблицы Customers является родительским, а в таблице Orders является дочерним элементом связи.For example, in a Customer/Orders relationship, the Customers table is the parent and the Orders table is the child of the relationship. Это похоже на первичный ключ/внешнего ключа.This is similar to a primary key/foreign key relationship. Дополнительные сведения см. в разделе переходы отношений DataRelation.For more information, see Navigating DataRelations.

Создаются связи между соответствующими столбцами в родительской и дочерней таблицами.Relationships are created between matching columns in the parent and child tables. То есть DataType значение оба столбца должны быть одинаковыми.That is, the DataType value for both columns must be identical.

Связи также могут передавать различные изменения из родительского DataRow в ее дочерние строки.Relationships can also cascade various changes from the parent DataRow to its child rows. Чтобы контролировать, как изменяются значения в дочерних строках, добавьте ForeignKeyConstraint для ConstraintCollection из DataTable объекта.To control how values are changed in child rows, add a ForeignKeyConstraint to the ConstraintCollection of the DataTable object. ConstraintCollection Определяет, какое действие следует предпринять при значения в родительской таблице удаления или обновления.The ConstraintCollection determines what action to take when a value in a parent table is deleted or updated.

Когда DataRelation будет создан, его сначала проверяет, что связь может быть установлено.When a DataRelation is created, it first verifies that the relationship can be established. После его добавления к DataRelationCollection, отношение поддерживается запретив все изменения, которые бы сделали его недействительным.After it is added to the DataRelationCollection, the relationship is maintained by disallowing any changes that would invalidate it. Между периода при DataRelation создается и добавляется к DataRelationCollection, существует возможность дополнительной вносить изменения в строки, родительского или дочернего.Between the period when a DataRelation is created and added to the DataRelationCollection, it is possible for additional changes to be made to the parent or child rows. Если в результате связь, которая больше не является допустимым, создается исключение.An exception is generated if this causes a relationship that is no longer valid.

Примечание

Двунаправленная связь определяется между двумя таблицами может привести к повреждению данных.Data corruption can occur if a bi-directional relation is defined between two tables. Двунаправленная связь состоит из двух DataRelation объектов, которые используют те же столбцы, с помощью переключения ролей родители потомки.A bi-directional relation consists of two DataRelation objects that use the same columns, with the parent-child roles switched. Исключение не вызывается при DataRelation объекты сохраняются; тем не менее, может произойти повреждение данных.No exception is raised when the DataRelation objects are saved; however, data corruption can occur.

DataRelation объекты содержатся в DataRelationCollection, к которому можно получить через Relations свойство DataSetи ChildRelations и ParentRelations свойства DataTable.DataRelation objects are contained in a DataRelationCollection, which you can access through the Relations property of the DataSet, and the ChildRelations and ParentRelations properties of the DataTable.

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

DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn) DataRelation(String, DataColumn, DataColumn)

Инициализирует новый экземпляр класса DataRelation с использованием указанного имени DataRelation и родительского и дочернего объектов DataColumn.Initializes a new instance of the DataRelation class using the specified DataRelation name, and parent and child DataColumn objects.

DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean) DataRelation(String, DataColumn, DataColumn, Boolean)

Инициализирует новый экземпляр класса DataRelation с использованием указанного имени, родительского и дочернего объектов DataColumn и значения, указывающего, нужно ли создавать ограничения.Initializes a new instance of the DataRelation class using the specified name, parent and child DataColumn objects, and a value that indicates whether to create constraints.

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

Инициализирует новый экземпляр класса DataRelation с использованием указанного имени DataRelation и соответствующих массивов родительских и дочерних объектов DataColumn.Initializes a new instance of the DataRelation class using the specified DataRelation name and matched arrays of parent and child DataColumn objects.

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

Инициализирует новый экземпляр класса DataRelation с использованием указанного имени, родительского и дочернего объектов DataColumn и значения, указывающего, нужно ли создавать ограничения.Initializes a new instance of the DataRelation class using the specified name, matched arrays of parent and child DataColumn objects, and value that indicates whether to create constraints.

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

Этот конструктор предназначен для поддержки режима разработки в среде Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

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

Этот конструктор предназначен для поддержки режима разработки в среде Visual Studio.This constructor is provided for design time support in the Visual Studio environment.

Свойства

ChildColumns ChildColumns ChildColumns ChildColumns

Возвращает дочерние объекты DataColumn этого отношения.Gets the child DataColumn objects of this relation.

ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint ChildKeyConstraint

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

ChildTable ChildTable ChildTable ChildTable

Возвращает дочернюю таблицу этого отношения.Gets the child table of this relation.

DataSet DataSet DataSet DataSet

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

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Возвращает коллекцию, в которой хранятся настраиваемые свойства.Gets the collection that stores customized properties.

Nested Nested Nested Nested

Возвращает или задает значение, которое указывает, являются ли объекты DataRelation вложенными.Gets or sets a value that indicates whether DataRelation objects are nested.

ParentColumns ParentColumns ParentColumns ParentColumns

Возвращает массив объектов DataColumn, являющихся родительскими столбцами объекта DataRelation.Gets an array of DataColumn objects that are the parent columns of this DataRelation.

ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint ParentKeyConstraint

Возвращает UniqueConstraint, которое обеспечивает уникальность значений в родительском столбце объекта DataRelation.Gets the UniqueConstraint that guarantees that values in the parent column of a DataRelation are unique.

ParentTable ParentTable ParentTable ParentTable

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

RelationName RelationName RelationName RelationName

Возвращает или задает имя, используемое для извлечения DataRelation из DataRelationCollection.Gets or sets the name used to retrieve a DataRelation from the DataRelationCollection.

Методы

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() CheckStateForProperty()

Этот метод поддерживает инфраструктуру .NET Framework и не предназначен для использования непосредственно из программного кода.This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs) OnPropertyChanging(PropertyChangedEventArgs)

Данный член предназначен для поддержки платформы .NET Framework и не должен вызываться напрямую из кода приложения.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String) RaisePropertyChanging(String)

Данный член предназначен для поддержки платформы .NET Framework и не должен вызываться напрямую из кода приложения.This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.

ToString() ToString() ToString() ToString()

Возвращает RelationName, если он существует.Gets the RelationName, if one exists.

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

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

Этот тип является безопасным для многопоточных операций чтения.This type is safe for multithreaded read operations. Необходимо синхронизировать все операции записи.You must synchronize any write operations.

Дополнительно