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 costituito da una raccolta di DataTable oggetti che è possibile correlare tra loro con DataRelation gli oggetti . È anche possibile applicare l'integrità DataSet dei dati in utilizzando gli UniqueConstraint oggetti e 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 è denominato "Mydatatable", una stringa usata per cercare una delle tabelle viene considerata 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. Compilare e compilare ogni DataTable oggetto DataSet con i dati di un'origine dati usando un oggetto 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 Update metodo di DataAdapter, passando il secondo DataSet come argomento.

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

  6. Richiamare l'oggetto AcceptChanges in DataSet. In alternativa, richiamare RejectChanges per annullare le modifiche.

Nota

Gli DataSet oggetti e DataTable ereditano da MarshalByValueComponente supportano l'interfaccia per la ISerializable comunicazione remota. Si tratta degli unici oggetti ADO.NET che è possibile eseguire in remoto.

Nota

Le classi ereditate da DataSet non vengono finalizzate dal Garbage Collector, perché il finalizzatore è stato eliminato in DataSet. La classe derivata può chiamare il ReRegisterForFinalize metodo nel relativo costruttore per consentire la finalizzazione della classe da parte del Garbage Collector.

Considerazioni sulla sicurezza

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