Udostępnij za pośrednictwem


ForeignKeyConstraint Klasa

Definicja

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
ForeignKeyConstraint
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.

Zobacz też