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