ForeignKeyConstraint Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje ograniczenie akcji wymuszane na zestawie kolumn w relacji klucza podstawowego/klucza obcego, gdy wartość lub wiersz zostanie usunięta lub zaktualizowana.
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
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład tworzy obiekt ForeignKeyConstraint, ustawia niektóre jego właściwości i dodaje go do DataTable obiektu 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
Uwagi
Element ForeignKeyConstraint ogranicza akcję wykonywaną po usunięciu lub zaktualizowaniu wartości w kolumnie (lub kolumnach). Takie ograniczenie ma być używane z kolumnami klucza podstawowego. W relacji nadrzędnej/podrzędnej między dwiema tabelami usunięcie wartości z tabeli nadrzędnej może mieć wpływ na wiersze podrzędne w jeden z następujących sposobów.
Wiersze podrzędne można również usunąć (akcję kaskadową).
Wartości w kolumnie podrzędnej (lub kolumnach) można ustawić na wartości null.
Wartości w kolumnie podrzędnej (lub kolumnach) można ustawić na wartości domyślne.
Można wygenerować wyjątek.
ForeignKeyConstraint obiekty znajdują się w ConstraintCollection obiekcie DataTable, do którego uzyskuje się dostęp za pośrednictwem Constraints właściwości .
Ograniczenia nie są wymuszane, chyba że właściwość jest ustawiona EnforceConstraints na true
.
Metoda AcceptRejectRule jest wymuszana za każdym razem, gdy DataTable jest wywoływana AcceptChanges metoda obiektu.
Konstruktory
ForeignKeyConstraint(DataColumn, DataColumn) |
Inicjuje ForeignKeyConstraint nowe wystąpienie klasy z określonymi obiektami nadrzędnymi i podrzędnymi DataColumn . |
ForeignKeyConstraint(DataColumn[], DataColumn[]) |
Inicjuje ForeignKeyConstraint nowe wystąpienie klasy z określonymi tablicami obiektów nadrzędnych i podrzędnych DataColumn . |
ForeignKeyConstraint(String, DataColumn, DataColumn) |
Inicjuje ForeignKeyConstraint nowe wystąpienie klasy o określonej nazwie, obiektach nadrzędnych i podrzędnych DataColumn . |
ForeignKeyConstraint(String, DataColumn[], DataColumn[]) |
Inicjuje ForeignKeyConstraint nowe wystąpienie klasy o określonej nazwie i tablicach obiektów nadrzędnych i podrzędnych DataColumn . |
ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule) |
Ten konstruktor jest dostarczany do obsługi czasu projektowania w środowisku programu Visual Studio. ForeignKeyConstraint obiekty utworzone przy użyciu tego konstruktora muszą następnie zostać dodane do kolekcji za pomocą polecenia AddRange(Constraint[]). Tabele i kolumny z określonymi nazwami muszą istnieć w czasie wywoływania metody lub jeśli BeginInit() została wywołana przed wywołaniem tego konstruktora, tabele i kolumny o określonych nazwach muszą istnieć w czasie, który EndInit() jest wywoływany. |
ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule) |
Ten konstruktor jest dostarczany do obsługi czasu projektowania w środowisku programu Visual Studio. ForeignKeyConstraint obiekty utworzone przy użyciu tego konstruktora muszą następnie zostać dodane do kolekcji za pomocą polecenia AddRange(Constraint[]). Tabele i kolumny z określonymi nazwami muszą istnieć w czasie wywoływania metody lub jeśli BeginInit() została wywołana przed wywołaniem tego konstruktora, tabele i kolumny o określonych nazwach muszą istnieć w czasie, który EndInit() jest wywoływany. |
Właściwości
_DataSet |
Pobiera element DataSet , do którego należy to ograniczenie. (Odziedziczone po Constraint) |
AcceptRejectRule |
Wskazuje akcję, która ma być wykonywana w tym ograniczeniu po AcceptChanges() wywołaniu. |
Columns |
Pobiera kolumny podrzędne tego ograniczenia. |
ConstraintName |
Nazwa ograniczenia w elemecie ConstraintCollection. (Odziedziczone po Constraint) |
DeleteRule |
Pobiera lub ustawia akcję, która występuje w tym ograniczeniu po usunięciu wiersza. |
ExtendedProperties |
Pobiera kolekcję właściwości ograniczeń zdefiniowanych przez użytkownika. (Odziedziczone po Constraint) |
RelatedColumns |
Kolumny nadrzędne tego ograniczenia. |
RelatedTable |
Pobiera tabelę nadrzędną tego ograniczenia. |
Table |
Pobiera tabelę podrzędną tego ograniczenia. |
UpdateRule |
Pobiera lub ustawia akcję, która występuje w tym ograniczeniu po zaktualizowaniu wiersza. |
Metody
CheckStateForProperty() |
Pobiera element DataSet , do którego należy to ograniczenie. (Odziedziczone po Constraint) |
Equals(Object) |
Pobiera wartość wskazującą, czy bieżący ForeignKeyConstraint jest identyczny z określonym obiektem. |
GetHashCode() |
Pobiera kod skrótu tego wystąpienia ForeignKeyConstraint obiektu. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
SetDataSet(DataSet) |
Ustawia ograniczenie DataSet. (Odziedziczone po Constraint) |
ToString() |
Pobiera element ConstraintName, jeśli istnieje, jako ciąg. (Odziedziczone po Constraint) |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny dla operacji odczytu wielowątkowego. Należy zsynchronizować wszystkie operacje zapisu.