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作成し、そのプロパティの一部を設定し、オブジェクトの ConstraintCollectionにDataTable追加します。
' 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呼び出されるたびに適用されます。
コンストラクター
プロパティ
_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) |
適用対象
スレッド セーフ
この型は、マルチスレッド読み取り操作に安全です。 書き込み操作は同期する必要があります。
こちらもご覧ください
.NET