ForeignKeyConstraint ForeignKeyConstraint ForeignKeyConstraint ForeignKeyConstraint Class

定義

値または行を削除または更新したときに、主キーと外部キーのリレーションシップに関係する列セットに対して適用するアクション制約を表します。Represents an action restriction enforced on a set of columns in a primary key/foreign key relationship when a value or row is either deleted or updated.

public ref class ForeignKeyConstraint : System::Data::Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
継承
ForeignKeyConstraintForeignKeyConstraintForeignKeyConstraintForeignKeyConstraint
属性

次の例では、作成、 ForeignKeyConstraint、一部のプロパティを設定およびに追加します、DataTableオブジェクトのConstraintCollectionします。The following example creates a ForeignKeyConstraint, sets some of its properties, and adds it to a DataTable object's 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

注釈

A ForeignKeyConstraint (または複数) の列の値が削除または更新したときに実行するアクションを制限します。A ForeignKeyConstraint restricts the action performed when a value in a column (or columns) is either deleted or updated. このような制約が主キー列で使用するためのものです。Such a constraint is intended to be used with primary key columns. 2 つのテーブル間の親/子リレーションシップで、親テーブルから値を削除することができます子の行に影響は次の方法のいずれかでします。In a parent/child relationship between two tables, deleting a value from the parent table can affect the child rows in one of the following ways.

  • 子の行がすることもできます (カスケード アクション) を削除します。The child rows can also be deleted (a cascading action).

  • 子の列 (または列) の値は null 値を設定できます。The values in the child column (or columns) can be set to null values.

  • 子の列 (または列) の値は、既定値に設定できます。The values in the child column (or columns) can be set to default values.

  • 例外を生成できます。An exception can be generated.

ForeignKeyConstraint オブジェクトに含まれる、ConstraintCollectionDataTable、経由でアクセスされる、Constraintsプロパティ。ForeignKeyConstraint objects are contained in the ConstraintCollection of a DataTable, which is accessed through the Constraints property.

しない限り、制約が適用されない、EnforceConstraintsプロパティに設定されてtrueします。Constraints are not enforced unless the EnforceConstraints property is set to true.

AcceptRejectRuleが適用されるたびに、DataTableオブジェクトのAcceptChangesメソッドが呼び出されます。The AcceptRejectRule is enforced whenever a DataTable object's AcceptChanges method is invoked.

コンストラクター

ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn)

親子の ForeignKeyConstraint オブジェクトを指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the ForeignKeyConstraint class with the specified parent and child DataColumn objects.

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

親子の ForeignKeyConstraint オブジェクトの配列を指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the ForeignKeyConstraint class with the specified arrays of parent and child DataColumn objects.

ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn)

名前と親子の ForeignKeyConstraint オブジェクトを指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the ForeignKeyConstraint class with the specified name, parent and child DataColumn objects.

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

名前と親子の ForeignKeyConstraint オブジェクトの配列を指定して、DataColumn クラスの新しいインスタンスを初期化します。Initializes a new instance of the ForeignKeyConstraint class with the specified name, and arrays of parent and child DataColumn objects.

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

このコンストラクターは、Visual Studio 環境でのデザイン時のサポートのために用意されています。This constructor is provided for design time support in the Visual Studio environment. このコンストラクターを使用して作成した ForeignKeyConstraint オブジェクトは、AddRange(Constraint[]) を使用してコレクションに追加する必要があります。ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). このメソッドを呼び出したときに、指定した名前のテーブルと列が存在している必要があります。このコンストラクターを呼び出す前に BeginInit() を呼び出した場合は、EndInit() を呼び出したときに、指定した名前のテーブルと列が存在している必要があります。Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

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

このコンストラクターは、Visual Studio 環境でのデザイン時のサポートのために用意されています。This constructor is provided for design time support in the Visual Studio environment. このコンストラクターを使用して作成した ForeignKeyConstraint オブジェクトは、AddRange(Constraint[]) を使用してコレクションに追加する必要があります。ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). このメソッドを呼び出したときに、指定した名前のテーブルと列が存在している必要があります。このコンストラクターを呼び出す前に BeginInit() を呼び出した場合は、EndInit() を呼び出したときに、指定した名前のテーブルと列が存在している必要があります。Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

プロパティ

AcceptRejectRule AcceptRejectRule AcceptRejectRule AcceptRejectRule

AcceptChanges() が呼び出されたときにこの制約全体で実行する必要があるアクションを示します。Indicates the action that should take place across this constraint when AcceptChanges() is invoked.

Columns Columns Columns Columns

この制約の子列を取得します。Gets the child columns of this constraint.

ConstraintName ConstraintName ConstraintName ConstraintName

ConstraintCollection 内の制約の名前。The name of a constraint in the ConstraintCollection.

(Inherited from Constraint)
DeleteRule DeleteRule DeleteRule DeleteRule

行を削除したときにこの制約全体で発生するアクションを取得または設定します。Gets or sets the action that occurs across this constraint when a row is deleted.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

ユーザー定義の制約のプロパティのコレクションを取得します。Gets the collection of user-defined constraint properties.

(Inherited from Constraint)
RelatedColumns RelatedColumns RelatedColumns RelatedColumns

この制約の親列。The parent columns of this constraint.

RelatedTable RelatedTable RelatedTable RelatedTable

この制約の親テーブルを取得します。Gets the parent table of this constraint.

Table Table Table Table

この制約の子テーブルを取得します。Gets the child table of this constraint.

UpdateRule UpdateRule UpdateRule UpdateRule

行を更新したときにこの制約全体で発生するアクションを取得または設定します。Gets or sets the action that occurs across this constraint on when a row is updated.

_DataSet _DataSet _DataSet _DataSet

この制約が属する DataSet を取得します。Gets the DataSet to which this constraint belongs.

(Inherited from Constraint)

メソッド

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() CheckStateForProperty()

この制約が属する DataSet を取得します。Gets the DataSet to which this constraint belongs.

(Inherited from Constraint)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

現在の ForeignKeyConstraint が指定したオブジェクトと同一かどうかを示す値を取得します。Gets a value indicating whether the current ForeignKeyConstraint is identical to the specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

ForeignKeyConstraint オブジェクトのこのインスタンスのハッシュ コードを取得します。Gets the hash code of this instance of the ForeignKeyConstraint object.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet)

制約の DataSet を設定します。Sets the constraint's DataSet.

(Inherited from Constraint)
ToString() ToString() ToString() ToString()

ConstraintName がある場合は、この制約名を文字列として取得します。Gets the ConstraintName, if there is one, as a string.

(Inherited from Constraint)

適用対象

スレッド セーフ

この型は、マルチ スレッドの読み取り操作も安全です。This type is safe for multithreaded read operations. 書き込み操作を同期する必要があります。You must synchronize any write operations.

こちらもご覧ください