ForeignKeyConstraint Klasse

Definition

Stellt eine Aktionsbeschränkung dar, die für eine Gruppe von Spalten in einer Primärschlüssel/Fremdschlüssel-Beziehung erzwungen wird, wenn ein Wert oder eine Spalte gelöscht oder aktualisiert wird.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
Vererbung
ForeignKeyConstraint
Attribute

Beispiele

Im folgenden Beispiel wird ein ForeignKeyConstrainterstellt, einige seiner Eigenschaften festgelegt und dem-Objekt eines DataTable - ConstraintCollectionObjekts hinzugefügt.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

Hinweise

Eine ForeignKeyConstraint schränkt die Aktion ein, die ausgeführt wird, wenn ein Wert in einer Spalte (oder Spalten) entweder gelöscht oder aktualisiert wird.A ForeignKeyConstraint restricts the action performed when a value in a column (or columns) is either deleted or updated. Eine solche Einschränkung ist für die Verwendung mit Primärschlüssel Spalten vorgesehen.Such a constraint is intended to be used with primary key columns. In einer über-/Unterordnungsbeziehung zwischen zwei Tabellen kann das Löschen eines Werts aus der übergeordneten Tabelle auf eine der folgenden Arten Auswirkungen auf die untergeordneten Zeilen haben.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.

  • Die untergeordneten Zeilen können auch gelöscht werden (eine kaskadierende Aktion).The child rows can also be deleted (a cascading action).

  • Die Werte in der untergeordneten Spalte (oder Spalten) können auf NULL-Werte festgelegt werden.The values in the child column (or columns) can be set to null values.

  • Die Werte in der untergeordneten Spalte (oder Spalten) können auf Standardwerte festgelegt werden.The values in the child column (or columns) can be set to default values.

  • Es kann eine Ausnahme generiert werden.An exception can be generated.

ForeignKeyConstraint-Objekte sind in einer ConstraintCollection DataTableenthalten, auf die über die Constraints -Eigenschaft zugegriffen wird.ForeignKeyConstraint objects are contained in the ConstraintCollection of a DataTable, which is accessed through the Constraints property.

Einschränkungen werden nur erzwungen, wenn EnforceConstraints die-Eigenschaft auf truefestgelegt ist.Constraints are not enforced unless the EnforceConstraints property is set to true.

Wird immer dann erzwungen, DataTable wenn die AcceptChanges -Methode eines-Objekts aufgerufen wird. AcceptRejectRuleThe AcceptRejectRule is enforced whenever a DataTable object's AcceptChanges method is invoked.

Konstruktoren

ForeignKeyConstraint(DataColumn, DataColumn)

Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit den angegebenen übergeordneten und untergeordneten DataColumn-Objekten.Initializes a new instance of the ForeignKeyConstraint class with the specified parent and child DataColumn objects.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit den angegebenen Arrays von übergeordneten und untergeordneten DataColumn-Objekten.Initializes a new instance of the ForeignKeyConstraint class with the specified arrays of parent and child DataColumn objects.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit dem angegebenen Namen und den angegebenen übergeordneten und untergeordneten DataColumn-Objekten.Initializes a new instance of the ForeignKeyConstraint class with the specified name, parent and child DataColumn objects.

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

Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit dem angegebenen Namen und den Arrays von übergeordneten und untergeordneten DataColumn-Objekten.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)

Dieser Konstruktor wird für die Unterstützung zur Entwurfszeit in der Visual Studio-Umgebung bereitgestellt.This constructor is provided for design time support in the Visual Studio environment. Mit diesem Konstruktor erstellte ForeignKeyConstraint-Objekte müssen der Auflistung anschließend über AddRange(Constraint[]) hinzugefügt werden.ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Tabellen und Spalten mit den angegebenen Namen müssen zum Zeitpunkt des Aufrufs der Methode vorhanden sein. Wenn BeginInit() vor dem Aufrufen dieses Konstruktors aufgerufen wurde, müssen die Tabellen und Spalten mit den angegebenen Namen zum Zeitpunkt des Aufrufs von EndInit() vorhanden sein.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)

Dieser Konstruktor wird für die Unterstützung zur Entwurfszeit in der Visual Studio-Umgebung bereitgestellt.This constructor is provided for design time support in the Visual Studio environment. Mit diesem Konstruktor erstellte ForeignKeyConstraint-Objekte müssen der Auflistung anschließend über AddRange(Constraint[]) hinzugefügt werden.ForeignKeyConstraint objects created by using this constructor must then be added to the collection via AddRange(Constraint[]). Tabellen und Spalten mit den angegebenen Namen müssen zum Zeitpunkt des Aufrufs der Methode vorhanden sein. Wenn BeginInit() vor dem Aufrufen dieses Konstruktors aufgerufen wurde, müssen die Tabellen und Spalten mit den angegebenen Namen zum Zeitpunkt des Aufrufs von EndInit() vorhanden sein.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.

Eigenschaften

_DataSet

Ruft das DataSet ab, zu dem diese Tabelle gehört.Gets the DataSet to which this constraint belongs.

(Geerbt von Constraint)
AcceptRejectRule

Gibt die Aktion an, die für die gesamte Einschränkung ausgeführt werden soll, wenn AcceptChanges() aufgerufen wird.Indicates the action that should take place across this constraint when AcceptChanges() is invoked.

Columns

Ruft die untergeordneten Spalten dieser Einschränkung ab.Gets the child columns of this constraint.

ConstraintName

Der Name einer Einschränkung in der ConstraintCollection.The name of a constraint in the ConstraintCollection.

(Geerbt von Constraint)
DeleteRule

Ruft die Aktion ab, die für diese Einschränkung beim Löschen einer Zeile ausgeführt wird, oder legt diese fest.Gets or sets the action that occurs across this constraint when a row is deleted.

ExtendedProperties

Ruft die Auflistung von benutzerdefinierten Einschränkungseigenschaften ab.Gets the collection of user-defined constraint properties.

(Geerbt von Constraint)
RelatedColumns

Die übergeordneten Spalten dieser Einschränkung.The parent columns of this constraint.

RelatedTable

Ruft die übergeordnete Tabelle dieser Einschränkung ab.Gets the parent table of this constraint.

Table

Ruft die untergeordnete Tabelle dieser Einschränkung ab.Gets the child table of this constraint.

UpdateRule

Ruft die Aktion ab, die für diese Einschränkung beim Aktualisieren einer Zeile ausgeführt wird, oder legt diese fest.Gets or sets the action that occurs across this constraint on when a row is updated.

Methoden

CheckStateForProperty()

Ruft das DataSet ab, zu dem diese Tabelle gehört.Gets the DataSet to which this constraint belongs.

(Geerbt von Constraint)
Equals(Object)

Ruft einen Wert ab, der angibt, ob der aktuelle ForeignKeyConstraint mit dem angegebenen Objekt identisch istGets a value indicating whether the current ForeignKeyConstraint is identical to the specified object.

GetHashCode()

Ruft den Hashcode dieser Instanz des ForeignKeyConstraint-Objekts ab.Gets the hash code of this instance of the ForeignKeyConstraint object.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
SetDataSet(DataSet)

Legt das DataSet der Einschränkung fest.Sets the constraint's DataSet.

(Geerbt von Constraint)
ToString()

Ruft den ConstraintName (falls vorhanden) als Zeichenfolge ab.Gets the ConstraintName, if there is one, as a string.

(Geerbt von Constraint)

Gilt für:

Threadsicherheit

Dieser Typ ist für multithreadlesevorgänge sicher.This type is safe for multithreaded read operations. Sie müssen alle Schreibvorgänge synchronisieren.You must synchronize any write operations.

Siehe auch