ForeignKeyConstraint ForeignKeyConstraint ForeignKeyConstraint ForeignKeyConstraint Class

Definizione

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.Represents an action restriction enforced on a set of columns in a primary key/foreign key relationship when a value or row is either deleted or updated.

public ref class ForeignKeyConstraint : System::Data::Constraint
[System.Serializable]
public class ForeignKeyConstraint : System.Data.Constraint
type ForeignKeyConstraint = class
    inherit Constraint
Public Class ForeignKeyConstraint
Inherits Constraint
Ereditarietà
ForeignKeyConstraintForeignKeyConstraintForeignKeyConstraintForeignKeyConstraint
Attributi

Esempi

L'esempio seguente crea una ForeignKeyConstraint, vengono impostate alcune proprietà e lo aggiunge a un DataTable dell'oggetto ConstraintCollection.The following example creates a ForeignKeyConstraint, sets some of its properties, and adds it to a DataTable object's 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

Oggetto ForeignKeyConstraint limita l'azione eseguita quando un valore in una colonna (o colonne) viene eliminato o aggiornato.A ForeignKeyConstraint restricts the action performed when a value in a column (or columns) is either deleted or updated. Tale vincolo deve essere usato con colonne chiave primaria.Such a constraint is intended to be used with primary key columns. In una relazione padre/figlio tra due tabelle, l'eliminazione di un valore dalla tabella padre può influenzare le righe figlio in uno dei modi seguenti.In a parent/child relationship between two tables, deleting a value from the parent table can affect the child rows in one of the following ways.

  • L'elemento figlio possono essere anche le righe eliminate (un'operazione di propagazione).The child rows can also be deleted (a cascading action).

  • I valori nella colonna figlio (o colonne) possono essere impostati su valori null.The values in the child column (or columns) can be set to null values.

  • I valori nella colonna figlio (o colonne) possono essere impostati sui valori predefiniti.The values in the child column (or columns) can be set to default values.

  • Può essere generata un'eccezione.An exception can be generated.

ForeignKeyConstraint gli oggetti sono contenuti nel ConstraintCollection di un DataTable, accessibile tramite il Constraints proprietà.ForeignKeyConstraint objects are contained in the ConstraintCollection of a DataTable, which is accessed through the Constraints property.

I vincoli non vengono applicati, a meno che il EnforceConstraints è impostata su true.Constraints are not enforced unless the EnforceConstraints property is set to true.

Il AcceptRejectRule viene applicato ogni volta che un DataTable dell'oggetto AcceptChanges metodo viene richiamato.The AcceptRejectRule is enforced whenever a DataTable object's AcceptChanges method is invoked.

Costruttori

ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn) ForeignKeyConstraint(DataColumn, DataColumn)

Inizializza una nuova istanza della classe ForeignKeyConstraint con gli oggetti DataColumn padre e figlio specificati.Initializes a new instance of the ForeignKeyConstraint class with the specified parent and child DataColumn objects.

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

Inizializza una nuova istanza della classe ForeignKeyConstraint con le matrici di oggetti DataColumn padre e figlio specificate.Initializes a new instance of the ForeignKeyConstraint class with the specified arrays of parent and child DataColumn objects.

ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn) ForeignKeyConstraint(String, DataColumn, DataColumn)

Inizializza una nuova istanza della classe ForeignKeyConstraint con il nome e gli oggetti DataColumn padre e figlio specificati.Initializes a new instance of the ForeignKeyConstraint class with the specified name, parent and child DataColumn objects.

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

Inizializza una nuova istanza della classe ForeignKeyConstraint con il nome e le matrici di oggetti DataColumn padre e figlio specificati.Initializes a new instance of the ForeignKeyConstraint class with the specified name, and arrays of parent and child DataColumn objects.

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

Questo costruttore viene fornito per il supporto in fase di progettazione nell'ambiente Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Gli oggetti ForeignKeyConstraint creati mediante questo costruttore deve essere aggiunto all'insieme utilizzando il metodo AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via 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().Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

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

Questo costruttore viene fornito per il supporto in fase di progettazione nell'ambiente Visual Studio.This constructor is provided for design time support in the Visual Studio environment. Gli oggetti ForeignKeyConstraint creati mediante questo costruttore deve essere aggiunto all'insieme utilizzando il metodo AddRange(Constraint[]).ForeignKeyConstraint objects created by using this constructor must then be added to the collection via 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().Tables and columns with the specified names must exist at the time the method is called, or if BeginInit() has been called prior to calling this constructor, the tables and columns with the specified names must exist at the time that EndInit() is called.

Proprietà

AcceptRejectRule AcceptRejectRule AcceptRejectRule AcceptRejectRule

Indica il tipo di operazione che dovrà essere eseguita in questo vincolo quando si chiama AcceptChanges().Indicates the action that should take place across this constraint when AcceptChanges() is invoked.

Columns Columns Columns Columns

Ottiene le colonne figlio di questo vincolo.Gets the child columns of this constraint.

ConstraintName ConstraintName ConstraintName ConstraintName

Nome di un vincolo nell'insieme ConstraintCollection.The name of a constraint in the ConstraintCollection.

(Inherited from Constraint)
DeleteRule DeleteRule DeleteRule DeleteRule

Ottiene o imposta l'azione che si verifica nel vincolo quando una riga viene eliminata.Gets or sets the action that occurs across this constraint when a row is deleted.

ExtendedProperties ExtendedProperties ExtendedProperties ExtendedProperties

Ottiene l'insieme delle proprietà dei vincoli definiti dall'utente.Gets the collection of user-defined constraint properties.

(Inherited from Constraint)
RelatedColumns RelatedColumns RelatedColumns RelatedColumns

Colonne padre di questo vincolo.The parent columns of this constraint.

RelatedTable RelatedTable RelatedTable RelatedTable

Ottiene la tabella padre di questo vincolo.Gets the parent table of this constraint.

Table Table Table Table

Ottiene la tabella figlio di questo vincolo.Gets the child table of this constraint.

UpdateRule UpdateRule UpdateRule UpdateRule

Ottiene o imposta l'azione che si verifica nel vincolo quando una riga viene aggiornata.Gets or sets the action that occurs across this constraint on when a row is updated.

_DataSet _DataSet _DataSet _DataSet

Ottiene la classe DataSet cui il vincolo appartiene.Gets the DataSet to which this constraint belongs.

(Inherited from Constraint)

Metodi

CheckStateForProperty() CheckStateForProperty() CheckStateForProperty() CheckStateForProperty()

Ottiene la classe DataSet cui il vincolo appartiene.Gets the DataSet to which this constraint belongs.

(Inherited from Constraint)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Ottiene un valore che indica se l'elemento ForeignKeyConstraint corrente è identico all'oggetto specificato.Gets a value indicating whether the current ForeignKeyConstraint is identical to the specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Ottiene il codice hash di questa istanza dell'oggetto ForeignKeyConstraint.Gets the hash code of this instance of the ForeignKeyConstraint object.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet) SetDataSet(DataSet)

Imposta la classe DataSet del vincolo.Sets the constraint's DataSet.

(Inherited from Constraint)
ToString() ToString() ToString() ToString()

Ottiene la proprietà ConstraintName, se presente, sotto forma di stringa.Gets the ConstraintName, if there is one, as a string.

(Inherited from Constraint)

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura a thread multipli.This type is safe for multithreaded read operations. È necessario sincronizzare qualsiasi operazione di scrittura.You must synchronize any write operations.

Vedi anche