Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto

Classe ForeignKeyConstraint

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.

Spazio dei nomi: System.Data
Assembly: System.Data (in system.data.dll)

public class ForeignKeyConstraint : Constraint
public class ForeignKeyConstraint extends Constraint
public class ForeignKeyConstraint extends Constraint

Un oggetto ForeignKeyConstraint limita l'azione eseguita quando un valore in una o più colonne viene eliminato o aggiornato. Un vincolo di questo tipo viene in genere utilizzato con le colonne di 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 seguenti modi:

  • È possibile che anche le righe figlio siano eliminate (operazione a catena).

  • È possibile che i valori nelle colonne figlio vengano impostati su valori null.

  • È possibile che i valori nelle colonne figlio vengano impostati sui valori predefiniti.

  • È possibile che venga generata un'eccezione.

Gli oggetti ForeignKeyConstraint sono contenuti nell'insieme ConstraintCollection di un oggetto DataTable, cui è possibile accedere mediante la proprietà Constraints.

I vincoli vengono applicati soltanto se la proprietà EnforceConstraints è impostata su true.

La proprietà AcceptRejectRule viene applicata ogni volta che viene chiamato il metodo AcceptChanges di un oggetto DataTable.

Nell'esempio seguente un oggetto ForeignKeyConstraint viene creato, ne vengono impostate le proprietà e viene aggiunto all'insieme ConstraintCollection di un oggetto DataTable.

' 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

System.Object
   System.Data.Constraint
    System.Data.ForeignKeyConstraint

Questo tipo può essere utilizzato nelle operazioni di lettura con multithreading. È necessario sincronizzare tutte le operazioni di scrittura.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft