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作成し、そのプロパティの一部を設定し、オブジェクトの ConstraintCollectionDataTable追加します。

' 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 、列 (または列) の値が削除または更新されたときに実行されるアクションを制限します。 このような制約は、主キー列で使用することを目的としています。 2 つのテーブル間の親子リレーションシップでは、親テーブルから値を削除すると、次のいずれかの方法で子行に影響を与える可能性があります。

  • 子行を削除することもできます (連鎖アクション)。

  • 子列 (または列) の値を null 値に設定できます。

  • 子列 (または列) の値は既定値に設定できます。

  • 例外を生成できます。

ForeignKeyConstraintオブジェクトは、 プロパティをConstraintCollectionDataTable介してアクセスされる の にConstraints含まれています。

プロパティが にtrue設定されていない限りEnforceConstraints、制約は適用されません。

AcceptRejectRuleは、オブジェクトの AcceptChanges メソッドがDataTable呼び出されるたびに適用されます。

コンストラクター

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)

適用対象

スレッド セーフ

この型は、マルチスレッド読み取り操作に安全です。 書き込み操作は同期する必要があります。

こちらもご覧ください