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, если он существует. |
Применяется к
Потокобезопасность
Этот тип является безопасным для многопоточных операций чтения. Необходимо синхронизировать все операции записи.