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 项并将其添加到 DataRelationCollection 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
注解
A DataRelation 用于通过DataColumn对象将两DataTable个对象相互关联。 例如,在“客户/订单”关系中,“客户”表是父表,“订单”表是关系的子级。 这类似于主键/外键关系。 有关详细信息,请参阅 导航 DataRelations。
在父表和子表中的匹配列之间创建关系。 也就是说, DataType 这两列的值必须相同。
关系还可以级联从父 DataRow 行到子行的各种更改。 若要控制子行中的值更改方式,请向ConstraintCollectionDataTable对象添加一个ForeignKeyConstraint值。 确定 ConstraintCollection 删除或更新父表中的值时要执行的操作。
创建 a DataRelation 时,它会首先验证是否可以建立关系。 将它添加到该 DataRelationCollection关系后,将禁止使关系失效的任何更改进行维护。 在创建和添加到DataRelationCollection期间之间DataRelation,可能会对父行或子行进行其他更改。 如果这会导致关系不再有效,则会生成异常。
注释
如果在两个表之间定义了双向关系,则可能会出现数据损坏。 双向关系由两 DataRelation 个对象组成,这些对象使用相同的列,并切换父子角色。 保存对象时 DataRelation 不会引发任何异常;但是,可能会发生数据损坏。
DataRelation对象包含在一个DataRelationCollection对象中,可以通过对象的DataSet属性和ChildRelationsParentRelationsDataTable属性进行访问。Relations
构造函数
| 名称 | 说明 |
|---|---|
| DataRelation(String, DataColumn, DataColumn, Boolean) |
使用指定的名称、父对象和子DataColumn对象以及指示是否创建约束的值初始化类的新实例DataRelation。 |
| DataRelation(String, DataColumn, DataColumn) |
使用指定的DataRelation名称和父对象和子DataColumn对象初始化类的新实例DataRelation。 |
| DataRelation(String, DataColumn[], DataColumn[], Boolean) |
使用指定的名称、父对象和子DataColumn对象的匹配数组以及指示是否创建约束的值初始化类的新实例DataRelation。 |
| DataRelation(String, DataColumn[], DataColumn[]) |
使用指定的DataRelation名称和匹配的父对象和子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 |
DataSet获取所属的所在位置DataRelation。 |
| 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个 ,如果存在。 |
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步任何写入操作。