Panoramica di TableAdapterManager
TableAdapterManager è un componente che fornisce le funzionalità per il salvataggio dei dati nelle tabelle dati correlate. TableAdapterManager utilizza le relazioni di chiavi esterne relative alle tabelle dati per determinare l'ordine corretto di invio dei comandi di inserimento, aggiornamento ed eliminazione da un dataset al database senza violare i vincoli di chiave esterna (integrità referenziale) nel database.
I vincoli di chiave esterna sono regole di coerenza all'interno di un database che controllano il comportamento dei comandi di inserimento, aggiornamento ed eliminazione dei record correlati. I vincoli di chiave esterna impediscono ad esempio l'eliminazione di record padre quando in un'altra tabella sono ancora presenti i record figli correlati.
Il processo generale di salvataggio dei dati nelle tabelle dati correlate mediante un TableAdapterManager è denominato Aggiornamento gerarchico.
Il salvataggio dei dati modificati dalle tabelle dati correlate è più complesso del salvataggio dei dati da una singola tabella, poiché i comandi di inserimento, aggiornamento ed eliminazione per ogni tabella correlata devono essere eseguiti in un ordine specifico per evitare di violare i vincoli di chiave esterna definiti nel database. 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 record del 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 ed evitare conflitti con i vincoli di chiave esterna nel database.
Creazione di TableAdapterManager
Per impostazione predefinita, una classe TableAdapterManager viene generata quando si crea un dataset tipizzato in un progetto. Più specificamente, è il valore nella proprietà Hierarchical Update di un dataset che determina se creare un TableAdapterManager. Se Hierarchical Update è impostato su True, viene creato un TableAdapterManager, se invece Hierarchical Update è impostato su False, viene creato un dataset che non contiene un TableAdapterManager. Per ulteriori informazioni, vedere Procedura: abilitare e disabilitare l'aggiornamento gerarchico.
Nota
Per impostazione predefinita, i dataset aggiunti ai progetti creati nelle versioni precedente di Visual Studio hanno la proprietà Hierarchical Update impostata su False. Ciò significa che l'aggiornamento gerarchico è disabilitato e non viene creato un TableAdapterManager. Per informazioni sull'aggiunta di un TableAdapterManager a un dataset esistente, vedere Procedura: implementare l'aggiornamento gerarchico in progetti di Visual Studio esistenti.
Riferimento di TableAdapterManager
La classe TableAdapterManager non fa parte di .NET Framework. Pertanto, non è possibile cercarla nella documentazione. Viene creata in fase di progettazione come parte del processo di creazione dei dataset.
Di seguito sono indicati i metodi e le proprietà della classe TableAdapterManager utilizzati con maggiore frequenza:
Membro |
Descrizione |
---|---|
Metodo UpdateAll |
Salva tutti i dati presenti in tutte le tabelle dati. |
Proprietà BackUpDataSetBeforeUpdate |
Valore booleano. Determina se creare una copia di backup del dataset prima di eseguire il metodo TableAdapterManager.UpdateAll. |
Proprietà nomeTabellaTableAdapter |
Rappresenta un TableAdapter. Il TableAdapterManager generato contiene una proprietà per ogni TableAdapter gestito. Ad esempio, un dataset con una tabella Customers e Orders viene generato con un TableAdapterManager contenente le proprietà CustomersTableAdapter e OrdersTableAdapter. |
Proprietà UpdateOrder |
Controlla l'ordine di esecuzione dei singoli comandi di inserimento, aggiornamento ed eliminazione. Impostare questa proprietà su uno dei valori dell'enumerazione TableAdapterManager.UpdateOrderOption. Per impostazione predefinita, la proprietà UpdateOrder viene impostata su InsertUpdateDelete. Ciò significa che i comandi di inserimento, aggiornamento ed eliminazione vengono eseguiti per tutte le tabelle del dataset esattamente in questo ordine. Per ulteriori informazioni, vedere Procedura: impostare l'ordine per l'esecuzione di un aggiornamento gerarchico. |
Vedere anche
Attività
Procedura dettagliata: salvataggio dei dati dalle tabelle dati correlate (aggiornamento gerarchico)
Procedura dettagliata: creazione di un'applicazione dati semplice
Concetti
Cenni preliminari sugli oggetti TableAdapter