ForeignKeyConstraint Třída

Definice

Představuje omezení akce vynucené u sady sloupců ve vztahu primárního klíče a cizího klíče při odstranění nebo aktualizaci hodnoty nebo řádku.

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
Dědičnost
ForeignKeyConstraint
Atributy

Příklady

Následující příklad vytvoří objekt , ForeignKeyConstraintnastaví některé jeho vlastnosti a přidá ho do objektu DataTableConstraintCollection.

' 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

Poznámky

A ForeignKeyConstraint omezuje akci provedenou při odstranění nebo aktualizaci hodnoty ve sloupci (nebo sloupcích). Takové omezení je určeno pro použití se sloupci primárního klíče. V relaci nadřazenosti a podřízenosti mezi dvěma tabulkami může odstranění hodnoty z nadřazené tabulky ovlivnit podřízené řádky jedním z následujících způsobů.

  • Podřízené řádky lze také odstranit (kaskádová akce).

  • Hodnoty v podřízené sloupci (nebo sloupcích) mohou být nastaveny na hodnoty null.

  • Hodnoty v podřízené sloupci (nebo sloupcích) je možné nastavit na výchozí hodnoty.

  • Je možné vygenerovat výjimku.

ForeignKeyConstraint objekty jsou obsaženy v objektu ConstraintCollectionDataTable, ke kterému se přistupuje prostřednictvím Constraints vlastnosti .

Omezení se nevynucují, pokud vlastnost EnforceConstraints není nastavená na truehodnotu .

Vynucuje AcceptRejectRule se při každém DataTable vyvolání metody objektu AcceptChanges .

Konstruktory

ForeignKeyConstraint(DataColumn, DataColumn)

Inicializuje novou instanci ForeignKeyConstraint třídy se zadanými nadřazenými a podřízenými DataColumn objekty.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Inicializuje novou instanci ForeignKeyConstraint třídy se zadanými poli nadřazených a podřízených DataColumn objektů.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Inicializuje novou instanci ForeignKeyConstraint třídy se zadaným názvem, nadřazenými a podřízenými DataColumn objekty.

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

Inicializuje novou instanci ForeignKeyConstraint třídy se zadaným názvem a pole nadřazených a podřízených DataColumn objektů.

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

Tento konstruktor je k dispozici pro podporu doby návrhu v prostředí sady Visual Studio. ForeignKeyConstraint Objekty vytvořené pomocí tohoto konstruktoru pak musí být přidány do kolekce prostřednictvím AddRange(Constraint[]). Tabulky a sloupce se zadanými názvy musí existovat v době volání metody, nebo pokud BeginInit() byl volána před voláním tohoto konstruktoru, tabulky a sloupce se zadanými názvy musí existovat v době volání EndInit() .

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

Tento konstruktor je k dispozici pro podporu doby návrhu v prostředí sady Visual Studio. ForeignKeyConstraint Objekty vytvořené pomocí tohoto konstruktoru pak musí být přidány do kolekce prostřednictvím AddRange(Constraint[]). Tabulky a sloupce se zadanými názvy musí existovat v době volání metody, nebo pokud BeginInit() byl volána před voláním tohoto konstruktoru, tabulky a sloupce se zadanými názvy musí existovat v době volání EndInit() .

Vlastnosti

_DataSet

Získá, DataSet ke kterému toto omezení patří.

(Zděděno od Constraint)
AcceptRejectRule

Označuje akci, která by se měla provést v rámci tohoto omezení při AcceptChanges() vyvolání.

Columns

Získá podřízené sloupce tohoto omezení.

ConstraintName

Název omezení v .ConstraintCollection

(Zděděno od Constraint)
DeleteRule

Získá nebo nastaví akci, která nastane přes toto omezení při odstranění řádku.

ExtendedProperties

Získá kolekci uživatelem definované omezení vlastnosti.

(Zděděno od Constraint)
RelatedColumns

Nadřazené sloupce tohoto omezení

RelatedTable

Získá nadřazenou tabulku tohoto omezení.

Table

Získá podřízenou tabulku tohoto omezení.

UpdateRule

Získá nebo nastaví akci, ke které dochází v rámci tohoto omezení při aktualizaci řádku.

Metody

CheckStateForProperty()

Získá, DataSet ke kterému toto omezení patří.

(Zděděno od Constraint)
Equals(Object)

Získá hodnotu označující, zda je aktuální ForeignKeyConstraint shodný se zadaným objektem.

GetHashCode()

Získá kód hash této instance objektu ForeignKeyConstraint .

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
SetDataSet(DataSet)

Nastaví omezení DataSet.

(Zděděno od Constraint)
ToString()

ConstraintNameZíská , pokud existuje, jako řetězec.

(Zděděno od Constraint)

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro operace čtení ve více vláknech. Je nutné synchronizovat všechny operace zápisu.

Viz také