Condividi tramite


Classe System.Data.DataSet

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

La DataSet classe, che è una cache in memoria dei dati recuperati da un'origine dati, è un componente principale dell'architettura ADO.NET. DataSet consiste in una raccolta di DataTable oggetti che è possibile correlare tra loro con gli oggetti DataRelation. È anche possibile applicare l'integrità dei dati utilizzando gli oggetti DataSet e UniqueConstraint nel ForeignKeyConstraint. Per altri dettagli sull'uso degli DataSet oggetti, vedere DataSet, DataTables e DataViews.

Mentre DataTable gli oggetti contengono i dati, DataRelationCollection consente di spostarsi nella gerarchia della tabella. Le tabelle sono contenute in un DataTableCollection oggetto accessibile tramite la Tables proprietà . Quando si accede agli DataTable oggetti, tenere presente che fanno distinzione tra maiuscole e minuscole in modo condizionale. Ad esempio, se uno DataTable è denominato "mydatatable" e un altro "Mydatatable", una stringa usata per cercare una delle tabelle viene considerata sensibile alla distinzione tra maiuscole e minuscole. Tuttavia, se "mydatatable" esiste e "Mydatatable" non lo è, la stringa di ricerca viene considerata senza distinzione tra maiuscole e minuscole. Per altre informazioni sull'utilizzo di DataTable oggetti, vedere Creazione di una tabella Dati.

Un DataSet oggetto può leggere e scrivere dati e schema come documenti XML. I dati e lo schema possono quindi essere trasportati tramite HTTP e usati da qualsiasi applicazione, in qualsiasi piattaforma abilitata per XML. È possibile salvare lo schema come XML Schema con il WriteXmlSchema metodo e salvare sia lo schema che i dati usando il WriteXml metodo . Per leggere un documento XML che include sia lo schema che i dati, utilizzare il ReadXml metodo .

In un'implementazione tipica a più livelli, i passaggi per la creazione e l'aggiornamento di un DataSetoggetto e, a sua volta, l'aggiornamento dei dati originali sono i seguenti:

  1. Costruire e compilare ciascun DataTable in un DataSet con i dati provenienti da un'origine dati usando un DataAdapter.

  2. Modificare i dati in singoli DataTable oggetti aggiungendo, aggiornando o eliminando DataRow oggetti.

  3. Richiamare il GetChanges metodo per creare un secondo DataSet che include solo le modifiche apportate ai dati.

  4. Chiamare il metodo Update di DataAdapter, passando il secondo DataSet come argomento.

  5. Richiamare il Merge metodo per unire le modifiche dal secondo DataSet al primo.

  6. Richiamare il AcceptChanges su DataSet. In alternativa, richiamare RejectChanges per annullare le modifiche.

Annotazioni

DataSet e DataTable oggetti ereditano da MarshalByValueComponent e supportano l'interfaccia ISerializable per la comunicazione remota. Si tratta degli unici oggetti ADO.NET che possono essere remoti.

Annotazioni

Le classi ereditate da DataSet non vengono finalizzate dal Garbage Collector perché il finalizzatore è stato soppresso in DataSet. La classe derivata può chiamare il metodo ReRegisterForFinalize nel suo costruttore per consentire che la classe venga finalizzata dal raccoglitore di rifiuti.

Considerazioni sulla sicurezza

Per informazioni sulla sicurezza di DataSet e DataTable, vedere Indicazioni sulla sicurezza.