ForeignKeyConstraint 类

定义

表示删除或更新某个值或行时,对主键/外键关系中一组列强制进行的操作限制。

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
属性

示例

以下示例创建 , 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对象包含在 的 DataTableConstraintCollection,可通过 属性访问Constraints该对象。

除非将 EnforceConstraints 属性设置为 true,否则不会强制实施约束。

AcceptRejectRule每当DataTable调用 对象的 AcceptChanges 方法时,将强制实施 。

构造函数

ForeignKeyConstraint(DataColumn, DataColumn)

使用指定的父级和子级 ForeignKeyConstraint 对象初始化 DataColumn 类的新实例。

ForeignKeyConstraint(DataColumn[], DataColumn[])

使用指定的父级和子级 ForeignKeyConstraint 对象的数组,初始化 DataColumn 类的新实例。

ForeignKeyConstraint(String, DataColumn, DataColumn)

使用指定的名称、父级和子级 ForeignKeyConstraint 对象初始化 DataColumn 类的新实例。

ForeignKeyConstraint(String, DataColumn[], DataColumn[])

使用指定的名称、父级和子级 ForeignKeyConstraint 对象的数组初始化 DataColumn 类的新实例。

ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule)

此构造函数在 Visual Studio 环境中提供设计时支持。 因此,使用此构造函数创建的 ForeignKeyConstraint 对象必须通过 AddRange(Constraint[]) 添加到集合中。 当调用该方法时,必须存在具有指定名称的表和列,或者如果在调用该构造函数之前已经调用了 BeginInit(),则在调用 EndInit() 时,必须存在具有指定名称的表和列。

ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule)

此构造函数在 Visual Studio 环境中提供设计时支持。 因此,使用此构造函数创建的 ForeignKeyConstraint 对象必须通过 AddRange(Constraint[]) 添加到集合中。 当调用该方法时,必须存在具有指定名称的表和列,或者如果在调用该构造函数之前已经调用了 BeginInit(),则在调用 EndInit() 时,必须存在具有指定名称的表和列。

属性

_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)

适用于

线程安全性

此类型对于多线程读取操作是安全的。 必须同步所有写入操作。

另请参阅