Condividi tramite


Disattivare i vincoli durante il riempimento di un set di dati nelle applicazioni .NET Framework

Annotazioni

La DataSet classe e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le app vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le app che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Sebbene i set di dati siano una tecnologia di successo comprovata, l'approccio consigliato per le nuove applicazioni .NET consiste nell'usare Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e dispone di un'interfaccia di programmazione più semplice.

Se un set di dati contiene vincoli, ad esempio vincoli di chiave esterna, possono generare errori correlati all'ordine delle operazioni eseguite sul set di dati. Ad esempio, il caricamento di record figlio prima del caricamento di record padre correlati può violare un vincolo e causare un errore. Non appena si carica un record figlio, il vincolo controlla la presenza del record padre correlato e genera un errore.

Se non esistesse alcun meccanismo per consentire la sospensione temporanea dei vincoli, viene generato un errore ogni volta che si tenta di caricare un record nella tabella figlio. Un altro modo per sospendere tutti i vincoli in un set di dati consiste nell'usare le BeginEditproprietà , e EndEdit .

Annotazioni

Gli eventi di convalida (ad esempio, ColumnChanging e RowChanging) non verranno generati quando i vincoli vengono disattivati.

Per sospendere i vincoli di aggiornamento a livello di codice

  • L'esempio seguente illustra come disattivare temporaneamente il controllo dei vincoli in un set di dati:

    dataSet1.EnforceConstraints = false;
    // Perform some operations on the dataset
    dataSet1.EnforceConstraints = true;
    

Per sospendere i vincoli di aggiornamento tramite lo Strumento di progettazione set di dati

  1. Apri il set di dati nel Designer del set di dati . Per altre informazioni, vedere Procedura dettagliata: Creazione di un set di dati in Progettazione set di dati.

  2. Nella finestra Proprietà, imposta la proprietà EnforceConstraints su false.