Condividi tramite


Aggiornamento gerarchico

 

Data di pubblicazione: aprile 2016

Per aggiornamento gerarchico si intende il processo con il quale i dati aggiornati da un dataset con due o più tabelle correlate vengono salvati in un database rispettando allo stesso tempo le regole di integrità referenziale. Con integrità referenziale si fa riferimento alle regole di coerenza fornite dai vincoli all'interno di un database che controllano il comportamento delle operazioni di inserimento, aggiornamento ed eliminazione dei record correlati. Ad esempio, l'integrità referenziale fa in modo che il record di un cliente venga creato prima degli ordini di tale cliente.

Il salvataggio dei dati modificati dalle tabelle dati correlate è più complesso del salvataggio dei dati da una singola tabella, poiché i comandi di aggiornamento, inserimento ed eliminazione per ogni tabella correlata devono essere eseguiti in un ordine specifico per evitare di violare i vincoli dell'integrità referenziale. Si consideri ad esempio un'applicazione di immissione ordini in cui è possibile gestire clienti e ordini sia nuovi che esistenti. Per eliminare un record del cliente esistente, è necessario prima eliminare tutti gli ordini del cliente. Per aggiungere un nuovo cliente con un ordine, è necessario prima inserire il nuovo record del cliente e successivamente gli ordini del cliente a causa dei vincoli di chiave esterna presenti nelle tabelle. Come illustrato negli esempi seguenti, è necessario estrarre i sottoinsiemi di dati specifici e inviare gli aggiornamenti (comandi di inserimento, aggiornamento ed eliminazione) nell'ordine corretto allo scopo di mantenere l'integrità referenziale.

La funzionalità di aggiornamento gerarchico utilizza un TableAdapterManager per gestire i TableAdapter all'interno di un dataset tipizzato. Il componente TableAdapterManager è un componente generato di Visual Studio, pertanto non fa parte di .NET Framework. Per informazioni dettagliate sulla classe TableAdapterManager, vedere la sezione Riferimento di TableAdapterManager di Panoramica di TableAdapterManager.

Se l'applicazione utilizza dataset tipizzati e consente agli utenti di modificare i dati nelle tabelle dati correlate (tabelle dati in una relazione uno-a-molti come Customers e Orders), è possibile utilizzare l'aggiornamento gerarchico.

In questa sezione

Cenni preliminari sull'aggiornamento gerarchico
Vengono illustrati l'aggiornamento gerarchico e la relativa implementazione.

Panoramica di TableAdapterManager
Vengono illustrati il componente TableAdapterManager e il codice di TableAdapterManager generato da Progettazione DataSet.

Procedura: abilitare e disabilitare l'aggiornamento gerarchico
Viene illustrato come impostare la proprietà Hierarchical Update di un dataset tipizzato per generare il codice per salvare le tabelle correlate.

Procedura: configurare i vincoli di chiave esterna in un dataset
Viene illustrato come configurare i vincoli in un dataset.

Procedura: eseguire il commit delle modifiche in corso nei controlli con associazione a dati prima del salvataggio dei dati
Viene illustrato come interrompere tutte le modifiche in corso nei controlli con associazione a dati in un form per preparare il salvataggio dell'origine dati.

Procedura: impostare l'ordine per l'esecuzione di un aggiornamento gerarchico
Viene illustrato come impostare la proprietà UpdateOrder di un TableAdapterManager per controllare l'ordine di esecuzione dei comandi di inserimento, aggiornamento ed eliminazione.

Procedura: implementare l'aggiornamento gerarchico in progetti di Visual Studio esistenti
Viene illustrato come aggiornare un'applicazione contenente tabelle dati correlate per salvare i dati mediante TableAdapterManager.

Procedura dettagliata: salvataggio dei dati dalle tabelle dati correlate (aggiornamento gerarchico)
Vengono fornite istruzioni dettagliate per la creazione di un'applicazione contenente tabelle dati correlate e il salvataggio dei dati mediante TableAdapterManager.

Riferimenti

DataSet

DataTable

Sezioni correlate

Utilizzo dei dataset nelle applicazioni a più livelli

Salvataggio di dati

Creazione e modifica di dataset tipizzati

TableAdapters

DataSet, DataTable e DataView

DataTable

Accesso ai dati in Visual Studio