DataRelation 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示两个 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用于通过 DataColumn 对象将两个DataTable对象相互关联。 例如,在“客户/订单”关系中,“客户”表是父关系,“订单”表是该关系的子级。 这类似于主键/外键关系。 有关详细信息,请参阅 导航 DataRelations。
在父表和子表中的匹配列之间创建关系。 也就是说, DataType 两列的值必须相同。
关系还可以级联从父 DataRow 行到子行的各种更改。 若要控制如何更改子行中的值,请将 添加到 ForeignKeyConstraint 对象的 。ConstraintCollectionDataTable 确定 ConstraintCollection 删除或更新父表中的值时要采取的操作。
DataRelation创建 时,它首先验证是否可以建立关系。 将其添加到 后, DataRelationCollection通过禁止任何会使关系失效的更改来维持关系。 在创建 和添加到 的DataRelationCollection时间段DataRelation之间,可能会对父行或子行进行其他更改。 如果这会导致关系不再有效,则会生成异常。
注意
如果在两个表之间定义了双向关系,则可能发生数据损坏。 双向关系由两 DataRelation
个对象组成,这些对象使用相同的列,并切换了父子角色。 保存对象时 DataRelation
不会引发异常;但是,可能会发生数据损坏。
DataRelation对象包含在 中DataRelationCollection,可以通过 的 DataSet属性以及 ChildRelations 的 DataTable和 ParentRelations 属性进行访问Relations。
构造函数
DataRelation(String, DataColumn, DataColumn) |
使用指定的 DataRelation 名称、父级和子级 DataColumn 对象,初始化 DataRelation 类的新实例。 |
DataRelation(String, DataColumn, DataColumn, Boolean) |
使用指定名称、父级和子级 DataColumn 对象以及指示是否创建约束的值,初始化 DataRelation 类的新实例。 |
DataRelation(String, DataColumn[], DataColumn[]) |
使用指定的 DataRelation 名称、父级和子级 DataColumn 对象的匹配数组,初始化 DataRelation 类的新实例。 |
DataRelation(String, DataColumn[], DataColumn[], Boolean) |
使用指定的名称、父级和子级 DataColumn 对象的匹配数组以及指示是否创建约束的值,初始化 DataRelation 类的新实例。 |
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 |
获取 DataRelation 所属的 DataSet。 |
ExtendedProperties |
获取存储自定义属性的集合。 |
Nested |
获取或设置一个指示是否嵌套 DataRelation 对象的值。 |
ParentColumns |
获取作为此 DataRelation 的父列的 DataColumn 对象的数组。 |
ParentKeyConstraint |
获取 UniqueConstraint,它确保 DataRelation 的父列中的值是唯一的。 |
ParentTable |
获取此 DataRelation 的父级 DataTable。 |
RelationName |
获取或设置用于从 DataRelationCollection 中检索 DataRelation 的名称。 |
方法
CheckStateForProperty() |
此方法支持 .NET 基础结构,但不能在代码中直接使用。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
OnPropertyChanging(PropertyChangedEventArgs) |
此成员支持 .NET 基础结构,但不能在代码中直接使用。 |
RaisePropertyChanging(String) |
此成员支持 .NET 基础结构,但不能在代码中直接使用。 |
ToString() |
获取 RelationName(如果存在)。 |
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步任何写入操作。