ForeignKeyConstraint 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示删除或更新某个值或行时,对主键/外键关系中一组列强制进行的操作限制。
public ref class ForeignKeyConstraint : System::Data::Constraint
public class ForeignKeyConstraint : System.Data.Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
inherit Constraint
[<System.Serializable>]
type ForeignKeyConstraint = class
inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
- 继承
- 属性
示例
以下示例创建 , ForeignKeyConstraint设置其一些属性,并将其添加到 DataTable 对象的 ConstraintCollection中。
' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts
Private Sub CreateConstraint()
' Declare parent column and child column variables.
Dim parentColumn As DataColumn
Dim childColumn As DataColumn
Dim fkeyConstraint As ForeignKeyConstraint
' Set parent and child column variables.
parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
childColumn = suppliersProducts.Tables("Products").Columns("SupplierID")
fkeyConstraint = New ForeignKeyConstraint( _
"SupplierFKConstraint", parentColumn, childColumn)
' Set null values when a value is deleted.
fkeyConstraint.DeleteRule = Rule.SetNull
fkeyConstraint.UpdateRule = Rule.Cascade
fkeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade
' Add the constraint, and set EnforceConstraints to true.
suppliersProducts.Tables("Products").Constraints.Add(fkeyConstraint)
suppliersProducts.EnforceConstraints = True
End Sub
注解
ForeignKeyConstraint限制删除或更新列 (或列) 的值时执行的操作。 此类约束旨在与主键列一起使用。 在两个表之间的父/子关系中,从父表中删除值可能会通过以下方式之一影响子行。
还可以 (级联操作) 删除子行。
子列 (或) 列的值可以设置为 null 值。
子列 (或) 列中的值可以设置为默认值。
可以生成异常。
ForeignKeyConstraint对象包含在 的 DataTable中ConstraintCollection,可通过 属性访问Constraints该对象。
除非将 EnforceConstraints 属性设置为 true
,否则不会强制实施约束。
AcceptRejectRule每当DataTable调用 对象的 AcceptChanges 方法时,将强制实施 。
构造函数
属性
_DataSet |
获取此约束所属的 DataSet。 (继承自 Constraint) |
AcceptRejectRule |
指示调用 AcceptChanges() 时,通过该约束应发生的操作。 |
Columns |
获取该约束的子列。 |
ConstraintName |
ConstraintCollection 中的约束的名称。 (继承自 Constraint) |
DeleteRule |
获取或设置当删除某一行时通过该约束发生的操作。 |
ExtendedProperties |
获取用户定义的约束属性的集合。 (继承自 Constraint) |
RelatedColumns |
该约束的父列。 |
RelatedTable |
获取该约束的父表。 |
Table |
获取该约束的子表。 |
UpdateRule |
获取或设置当更新某一行时通过该约束发生的操作。 |
方法
CheckStateForProperty() |
获取此约束所属的 DataSet。 (继承自 Constraint) |
Equals(Object) |
获取一个值,该值指示当前的 ForeignKeyConstraint 是否与指定对象相同。 |
GetHashCode() |
获取 ForeignKeyConstraint 对象的此实例的哈希代码。 |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
SetDataSet(DataSet) |
设置约束的 DataSet。 (继承自 Constraint) |
ToString() |
获取 ConstraintName(如果存在)作为字符串。 (继承自 Constraint) |
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步所有写入操作。