ForeignKeyConstraint Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta una restrizione di azione applicata su un insieme di colonne in una relazione chiave primaria/chiave esterna quando si aggiorna o si elimina un valore o una riga.
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à
- Attributi
Esempio
Nell'esempio seguente viene creato un ForeignKeyConstraintoggetto , vengono impostate alcune delle relative proprietà e viene aggiunto a un DataTable oggetto 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
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 in 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
ForeignKeyConstraint(DataColumn, DataColumn) |
Inizializza una nuova istanza della classe ForeignKeyConstraint con gli oggetti DataColumn padre e figlio specificati. |
ForeignKeyConstraint(DataColumn[], DataColumn[]) |
Inizializza una nuova istanza della classe ForeignKeyConstraint con le matrici di oggetti DataColumn padre e figlio specificate. |
ForeignKeyConstraint(String, DataColumn, DataColumn) |
Inizializza una nuova istanza della classe ForeignKeyConstraint con il nome e gli oggetti DataColumn padre e figlio specificati. |
ForeignKeyConstraint(String, DataColumn[], DataColumn[]) |
Inizializza una nuova istanza della classe ForeignKeyConstraint con il nome e le matrici di oggetti DataColumn padre e figlio specificati. |
ForeignKeyConstraint(String, String, String, String[], String[], AcceptRejectRule, Rule, Rule) |
Questo costruttore viene fornito per il supporto in fase di progettazione nell'ambiente Visual Studio. Gli oggetti ForeignKeyConstraint creati mediante questo costruttore deve essere aggiunto all'insieme utilizzando il metodo AddRange(Constraint[]). È necessario che le tabelle e le colonne con i nomi specificati siano disponibili nel momento in cui il metodo viene chiamato oppure, se il metodo BeginInit() viene chiamato prima di questo costruttore, che le tabelle e le colonne con i nomi specificati siano disponibili nel momento in cui viene chiamato il metodo EndInit(). |
ForeignKeyConstraint(String, String, String[], String[], AcceptRejectRule, Rule, Rule) |
Questo costruttore viene fornito per il supporto in fase di progettazione nell'ambiente Visual Studio. Gli oggetti ForeignKeyConstraint creati mediante questo costruttore deve essere aggiunto all'insieme utilizzando il metodo AddRange(Constraint[]). È necessario che le tabelle e le colonne con i nomi specificati siano disponibili nel momento in cui il metodo viene chiamato oppure, se il metodo BeginInit() viene chiamato prima di questo costruttore, che le tabelle e le colonne con i nomi specificati siano disponibili nel momento in cui viene chiamato il metodo EndInit(). |
Proprietà
_DataSet |
Ottiene la classe DataSet cui il vincolo appartiene. (Ereditato da Constraint) |
AcceptRejectRule |
Indica il tipo di operazione che dovrà essere eseguita in questo vincolo quando si chiama AcceptChanges(). |
Columns |
Ottiene le colonne figlio di questo vincolo. |
ConstraintName |
Nome di un vincolo nell'insieme ConstraintCollection. (Ereditato da Constraint) |
DeleteRule |
Ottiene o imposta l'azione che si verifica nel vincolo quando una riga viene eliminata. |
ExtendedProperties |
Ottiene l'insieme delle proprietà dei vincoli definiti 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 nel vincolo quando una riga viene aggiornata. |
Metodi
CheckStateForProperty() |
Ottiene la classe DataSet cui il vincolo appartiene. (Ereditato da Constraint) |
Equals(Object) |
Ottiene un valore che indica se l'elemento ForeignKeyConstraint corrente è identico all'oggetto specificato. |
GetHashCode() |
Ottiene il codice hash di questa istanza dell'oggetto ForeignKeyConstraint. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
SetDataSet(DataSet) |
Imposta la classe DataSet del vincolo. (Ereditato da Constraint) |
ToString() |
Ottiene la proprietà ConstraintName, se presente, sotto forma di 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.