Condividi tramite


ForeignKeyConstraint Classe

Definizione

Rappresenta una restrizione dell'azione applicata a un set di colonne in una relazione chiave primaria/chiave esterna quando un valore o una riga viene eliminato o aggiornato.

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
Ereditarietà
ForeignKeyConstraint
Attributi

Esempio

Nell'esempio ConstraintCollectionseguente viene creato un ForeignKeyConstraintoggetto , vengono impostate alcune delle relative proprietà e vengono aggiunte a un DataTable oggetto .

' 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

Commenti

Un ForeignKeyConstraint oggetto limita l'azione eseguita quando un valore in una colonna (o colonne) viene eliminato o aggiornato. Tale vincolo deve essere usato con le colonne chiave primaria. In una relazione padre/figlio tra due tabelle, l'eliminazione di un valore dalla tabella padre può influire sulle righe figlio in uno dei modi seguenti.

  • Le righe figlio possono essere eliminate anche (un'azione a catena).

  • I valori nella colonna figlio (o colonne) possono essere impostati su valori Null.

  • I valori nella colonna figlio (o colonne) possono essere impostati sui valori predefiniti.

  • È possibile generare un'eccezione.

ForeignKeyConstraint gli oggetti sono contenuti nell'oggetto ConstraintCollection di un DataTableoggetto a cui si accede tramite la Constraints proprietà .

I vincoli non vengono applicati a meno che la EnforceConstraints proprietà non sia impostata su true.

Viene AcceptRejectRule applicato ogni volta che viene richiamato il metodo di AcceptChanges un DataTable oggetto.

Costruttori

Nome Descrizione
ForeignKeyConstraint(DataColumn, DataColumn)

Inizializza una nuova istanza della ForeignKeyConstraint classe con gli oggetti padre e figlio DataColumn specificati.

ForeignKeyConstraint(DataColumn[], DataColumn[])

Inizializza una nuova istanza della ForeignKeyConstraint classe con le matrici specificate di oggetti padre e figlio DataColumn .

ForeignKeyConstraint(String, DataColumn, DataColumn)

Inizializza una nuova istanza della ForeignKeyConstraint classe con il nome, gli oggetti padre e figlio DataColumn specificati.

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

Inizializza una nuova istanza della ForeignKeyConstraint classe con il nome specificato e matrici di oggetti padre e figlio DataColumn .

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

Questo costruttore viene fornito per il supporto della fase di progettazione nell'ambiente di Visual Studio. ForeignKeyConstraint Gli oggetti creati tramite questo costruttore devono quindi essere aggiunti alla raccolta tramite AddRange(Constraint[]). Le tabelle e le colonne con i nomi specificati devono esistere al momento della chiamata al metodo oppure se BeginInit() è stato chiamato prima di chiamare questo costruttore, le tabelle e le colonne con i nomi specificati devono esistere al momento EndInit() della chiamata.

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

Questo costruttore viene fornito per il supporto della fase di progettazione nell'ambiente di Visual Studio. ForeignKeyConstraint Gli oggetti creati tramite questo costruttore devono quindi essere aggiunti alla raccolta tramite AddRange(Constraint[]). Le tabelle e le colonne con i nomi specificati devono esistere al momento della chiamata al metodo oppure se BeginInit() è stato chiamato prima di chiamare questo costruttore, le tabelle e le colonne con i nomi specificati devono esistere al momento EndInit() della chiamata.

Proprietà

Nome Descrizione
_DataSet

Ottiene l'oggetto DataSet a cui appartiene questo vincolo.

(Ereditato da Constraint)
AcceptRejectRule

Indica l'azione che deve essere eseguita in questo vincolo quando AcceptChanges() viene richiamata.

Columns

Ottiene le colonne figlio di questo vincolo.

ConstraintName

Nome di un vincolo nell'oggetto ConstraintCollection.

(Ereditato da Constraint)
DeleteRule

Ottiene o imposta l'azione che si verifica in questo vincolo quando viene eliminata una riga.

ExtendedProperties

Ottiene la raccolta di proprietà dei vincoli definite dall'utente.

(Ereditato da Constraint)
RelatedColumns

Colonne padre di questo vincolo.

RelatedTable

Ottiene la tabella padre di questo vincolo.

Table

Ottiene la tabella figlio di questo vincolo.

UpdateRule

Ottiene o imposta l'azione che si verifica in questo vincolo quando viene aggiornata una riga.

Metodi

Nome Descrizione
CheckStateForProperty()

Ottiene l'oggetto DataSet a cui appartiene questo vincolo.

(Ereditato da Constraint)
Equals(Object)

Ottiene un valore che indica se l'oggetto corrente ForeignKeyConstraint è identico all'oggetto specificato.

GetHashCode()

Ottiene il codice hash di questa istanza dell'oggetto ForeignKeyConstraint .

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
SetDataSet(DataSet)

Imposta l'oggetto del DataSetvincolo.

(Ereditato da Constraint)
ToString()

Ottiene , ConstraintNamese presente, come stringa.

(Ereditato da Constraint)

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura multithreading. È necessario sincronizzare tutte le operazioni di scrittura.

Vedi anche