ForeignKeyConstraint Classe

Définition

Représente une restriction d'action appliquée à un jeu de colonnes dans une relation de clé primaire/clé étrangère lorsqu'une valeur ou une ligne est supprimée ou mise à jour.

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
Héritage
ForeignKeyConstraint
Attributs

Exemples

L’exemple suivant crée un ForeignKeyConstraint, définit certaines de ses propriétés et l’ajoute à l’objet ConstraintCollectionDataTable .

' 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

Remarques

Un ForeignKeyConstraint limite l’action effectuée lorsqu’une valeur d’une colonne (ou de colonnes) est supprimée ou mise à jour. Une telle contrainte est destinée à être utilisée avec les colonnes de clé primaire. Dans une relation parent/enfant entre deux tables, la suppression d’une valeur de la table parente peut affecter les lignes enfants de l’une des manières suivantes.

  • Les lignes enfants peuvent également être supprimées (action en cascade).

  • Les valeurs de la colonne enfant (ou des colonnes) peuvent être définies sur des valeurs null.

  • Les valeurs de la colonne enfant (ou des colonnes) peuvent être définies sur les valeurs par défaut.

  • Une exception peut être générée.

ForeignKeyConstraint les objets sont contenus dans le ConstraintCollection d’un DataTable, qui est accessible via la Constraints propriété .

Les contraintes ne sont pas appliquées, sauf si la EnforceConstraints propriété est définie sur true.

est AcceptRejectRule appliqué chaque fois que la méthode d’un DataTableAcceptChanges objet est appelée.

Constructeurs

ForeignKeyConstraint(DataColumn, DataColumn)

Initialise une nouvelle instance de la classe ForeignKeyConstraint avec les objets DataColumn parent et enfant spécifiés.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Initialise une nouvelle instance de la classe ForeignKeyConstraint avec les tableaux d'objets DataColumn parent et enfant spécifiés.

ForeignKeyConstraint(String, DataColumn, DataColumn)

Initialise une nouvelle instance de la classe ForeignKeyConstraint avec le nom spécifié ainsi que les objets DataColumn parent et enfant déterminés.

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

Initialise une nouvelle instance de la classe ForeignKeyConstraint avec le nom spécifié ainsi que les tableaux d'objets DataColumn parent et enfant déterminés.

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

Ce constructeur est fourni pour assurer la prise en charge au moment du design dans l'environnement Visual Studio. Les objets ForeignKeyConstraint créés à l'aide de ce constructeur doivent ensuite être ajoutés à la collection via AddRange(Constraint[]). Les tables et colonnes portant les noms spécifiés doivent exister au moment de l'appel à la méthode, ou, si BeginInit() est appelé avant ce constructeur, les tables et colonnes portant les noms spécifiés doivent exister au moment de l'appel à EndInit().

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

Ce constructeur est fourni pour assurer la prise en charge au moment du design dans l'environnement Visual Studio. Les objets ForeignKeyConstraint créés à l'aide de ce constructeur doivent ensuite être ajoutés à la collection via AddRange(Constraint[]). Les tables et colonnes portant les noms spécifiés doivent exister au moment de l'appel à la méthode, ou, si BeginInit() est appelé avant ce constructeur, les tables et colonnes portant les noms spécifiés doivent exister au moment de l'appel à EndInit().

Propriétés

_DataSet

Obtient le DataSet auquel cette contrainte appartient.

(Hérité de Constraint)
AcceptRejectRule

Indique l'action qui doit être effectuée dans cette contrainte en cas d'appel à AcceptChanges().

Columns

Obtient les colonnes enfants de cette contrainte.

ConstraintName

Nom d'une contrainte dans ConstraintCollection.

(Hérité de Constraint)
DeleteRule

Obtient ou définit l'action qui se produit dans cette contrainte lorsqu'une ligne est supprimée.

ExtendedProperties

Obtient la collection de propriétés de contrainte définies par l'utilisateur.

(Hérité de Constraint)
RelatedColumns

Colonnes parentes de cette contrainte.

RelatedTable

Obtient la table parente de cette contrainte.

Table

Obtient la table enfant de cette contrainte.

UpdateRule

Obtient ou définit l'action qui se produit dans cette contrainte lorsqu'une ligne est mise à jour.

Méthodes

CheckStateForProperty()

Obtient le DataSet auquel cette contrainte appartient.

(Hérité de Constraint)
Equals(Object)

Obtient une valeur indiquant si le ForeignKeyConstraint actuel est identique à l'objet spécifié.

GetHashCode()

Obtient le code de hachage de cette instance de l'objet ForeignKeyConstraint.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
SetDataSet(DataSet)

Définit le DataSet de la contrainte.

(Hérité de Constraint)
ToString()

Obtient le ConstraintName éventuel sous la forme d'une chaîne.

(Hérité de Constraint)

S’applique à

Cohérence de thread

Ce type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser toutes les opérations d’écriture.

Voir aussi