ForeignKeyConstraint Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
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
- Vererbung
- Attribute
Beispiele
Im folgenden Beispiel wird ein ForeignKeyConstrainterstellt, legt einige seiner Eigenschaften fest und fügt sie dem eines DataTable - ConstraintCollectionObjekts hinzu.
' 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
Ein ForeignKeyConstraint schränkt die Aktion ein, die ausgeführt wird, wenn ein Wert in einer Spalte (oder Spalten) entweder gelöscht oder aktualisiert wird. Eine solche Einschränkung ist für die Verwendung mit Primärschlüsselspalten vorgesehen. In einer über-/untergeordneten Beziehung zwischen zwei Tabellen kann sich das Löschen eines Werts aus der übergeordneten Tabelle auf eine der folgenden Arten auf die untergeordneten Zeilen auswirken.
Die untergeordneten Zeilen können auch gelöscht werden (eine kaskadierende Aktion).
Die Werte in der untergeordneten Spalte (oder Spalten) können auf NULL-Werte festgelegt werden.
Die Werte in der untergeordneten Spalte (oder Spalten) können auf Standardwerte festgelegt werden.
Eine Ausnahme kann generiert werden.
ForeignKeyConstraint -Objekte sind in einer ConstraintCollectionDataTableenthalten, auf die über die Constraints -Eigenschaft zugegriffen wird.
Einschränkungen werden nur erzwungen, wenn die EnforceConstraints -Eigenschaft auf true
festgelegt ist.
Wird AcceptRejectRule erzwungen, wenn die -Methode eines DataTable Objekts AcceptChanges aufgerufen wird.
Konstruktoren
ForeignKeyConstraint(DataColumn, DataColumn) |
Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit den angegebenen übergeordneten und untergeordneten DataColumn-Objekten. |
ForeignKeyConstraint(DataColumn[], DataColumn[]) |
Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit den angegebenen Arrays von übergeordneten und untergeordneten DataColumn-Objekten. |
ForeignKeyConstraint(String, DataColumn, DataColumn) |
Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit dem angegebenen Namen und den angegebenen übergeordneten und untergeordneten DataColumn-Objekten. |
ForeignKeyConstraint(String, DataColumn[], DataColumn[]) |
Initialisiert eine neue Instanz der ForeignKeyConstraint-Klasse mit dem angegebenen Namen und den Arrays von übergeordneten und untergeordneten DataColumn-Objekten. |
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. Mit diesem Konstruktor erstellte ForeignKeyConstraint-Objekte müssen der Auflistung anschließend über AddRange(Constraint[]) hinzugefügt werden. 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. |
ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule) |
Dieser Konstruktor wird für die Unterstützung zur Entwurfszeit in der Visual Studio-Umgebung bereitgestellt. Mit diesem Konstruktor erstellte ForeignKeyConstraint-Objekte müssen der Auflistung anschließend über AddRange(Constraint[]) hinzugefügt werden. 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. |
Eigenschaften
_DataSet |
Ruft das DataSet ab, zu dem diese Tabelle gehört. (Geerbt von Constraint) |
AcceptRejectRule |
Gibt die Aktion an, die für die gesamte Einschränkung ausgeführt werden soll, wenn AcceptChanges() aufgerufen wird. |
Columns |
Ruft die untergeordneten Spalten dieser Einschränkung ab. |
ConstraintName |
Der Name einer Einschränkung in der 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. |
ExtendedProperties |
Ruft die Auflistung von benutzerdefinierten Einschränkungseigenschaften ab. (Geerbt von Constraint) |
RelatedColumns |
Die übergeordneten Spalten dieser Einschränkung. |
RelatedTable |
Ruft die übergeordnete Tabelle dieser Einschränkung ab. |
Table |
Ruft die untergeordnete Tabelle dieser Einschränkung ab. |
UpdateRule |
Ruft die Aktion ab, die für diese Einschränkung beim Aktualisieren einer Zeile ausgeführt wird, oder legt diese fest. |
Methoden
CheckStateForProperty() |
Ruft das DataSet ab, zu dem diese Tabelle gehört. (Geerbt von Constraint) |
Equals(Object) |
Ruft einen Wert ab, der angibt, ob der aktuelle ForeignKeyConstraint mit dem angegebenen Objekt identisch ist |
GetHashCode() |
Ruft den Hashcode dieser Instanz des ForeignKeyConstraint-Objekts ab. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
SetDataSet(DataSet) |
Legt das DataSet der Einschränkung fest. (Geerbt von Constraint) |
ToString() |
Ruft den ConstraintName (falls vorhanden) als Zeichenfolge ab. (Geerbt von Constraint) |
Gilt für:
Threadsicherheit
Dieser Typ ist für Multithreadlesevorgänge sicher. Sie müssen alle Schreibvorgänge synchronisieren.