ForeignKeyConstraint 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示删除或更新某个值或行时,对主键/外键关系中一组列强制进行的操作限制。
public ref class ForeignKeyConstraint : System::Data::Constraintpublic class ForeignKeyConstraint : System.Data.Constraint[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constrainttype ForeignKeyConstraint = class
    inherit Constraint[<System.Serializable>]
type ForeignKeyConstraint = class
    inherit ConstraintPublic 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) | 
适用于
线程安全性
此类型对于多线程读取操作是安全的。 必须同步所有写入操作。