Dataset ADO.NET

L'oggetto DataSet è fondamentale per il supporto di scenari di dati disconnessi e distribuiti con ADO .NET. Il DataSet è una rappresentazione di dati residente in memoria che fornisce un modello di programmazione relazionale coerente indipendente dall'origine dati. È possibile usarlo con numerose origini dati diverse, con dati XML o per la gestione di dati locali all'applicazione. Il DataSet rappresenta un set completo di dati che include tabelle correlate, vincoli e relazioni tra le tabelle. Nell'immagine seguente viene mostrato il modello a oggetti DataSet.

ADO.Net graphic
Modello a oggetti DataSet

I metodi e gli oggetti di un DataSet sono coerenti con i metodi nel modello di database relazionale.

Il DataSet è inoltre in grado di mantenere e ricaricare il contenuto come XML e il relativo schema sotto forma di schema XSD (Schema Definition Language) XML. Per altre informazioni, vedere Uso di XML in un set di dati.

DataTableCollection

In un DataSet di ADO.NET, è disponibile una raccolta di zero o più tabelle rappresentate da oggetti DataTable. In DataTableCollection sono contenuti tutti gli oggetti DataTable di un DataSet.

Un oggetto DataTable viene definito nello spazio dei nomi System.Data e rappresenta una singola tabella di dati residenti in memoria. In tale oggetto sono contenuti una raccolta di colonne rappresentata da un tipo DataColumnCollection e dei vincoli rappresentati da un tipo ConstraintCollection. Lo schema della tabella viene definito da questi due elementi. In un oggetto DataTable è inoltre presente una raccolta di righe rappresentata da DataRowCollection, che contiene i dati della tabella. Oltre allo stato corrente, in DataRow vengono mantenute sia la versione corrente che la versione originale, in modo da consentire l'identificazione delle modifiche apportate ai valori memorizzati nella riga.

Classe DataView

Un oggetto DataView consente di creare diverse visualizzazioni dei dati archiviati in un oggetto DataTable. Questa funzionalità è usata spesso nelle applicazioni di associazione dati. Usando un oggetto DataView, è possibile esporre i dati di una tabella applicando diversi tipi di ordinamento e filtrare i dati per stato di riga o sulla base di un'espressione di filtro. Per altre informazioni, vedere DataViews.

DataRelationCollection

Le relazioni di un DataSet sono contenute nell'oggetto DataRelationCollection. Una relazione, rappresentata dall'oggetto DataRelation, associa le righe di una DataTable alle righe di un'altra DataTable. Una relazione è analoga a un eventuale percorso di join esistente tra colonne di chiave primaria e di chiave esterna di un database relazionale. Una DataRelation consente di identificare delle colonne corrispondenti in due tabelle di un DataSet.

Le relazioni consentono la navigazione da una tabella all'altra in un DataSet. Gli elementi essenziali di una DataRelation sono il nome della relazione, il nome delle tabelle correlate e le colonne correlate in ogni tabella. È possibile compilare relazioni con più colonne per tabella specificando una matrice di oggetti DataColumn come colonne chiave. Quando viene aggiunta una relazione a DataRelationCollection, è possibile aggiungere un UniqueKeyConstraint e un ForeignKeyConstraint per garantire l'integrità dei vincoli quando vengono modificati i valori delle colonne correlate.

Per altre informazioni, vedere Aggiunta di DataRelations.

XML

È possibile compilare un DataSet da un documento o da un flusso XML. È possibile usare il documento o il flusso XML per fornire al DataSet dati o informazioni sullo schema, oppure entrambi. Le informazioni fornite dal documento o dal flusso XML possono essere combinate con i dati o le informazioni sullo schema già presenti nel DataSet. Per altre informazioni, vedere Uso di XML in un set di dati.

ExtendedProperties

DataSet, DataTable e DataColumn dispongono tutti di una proprietà ExtendedProperties. ExtendedProperties è un PropertyCollection in cui è possibile inserire informazioni personalizzate, quali un'istruzione SELECT usata per generare il set di risultati o un indicatore di data e ora relativo alla generazione dei dati. La raccolta ExtendedProperties viene conservata con le informazioni sullo schema per il DataSet.

LINQ to DataSet

LINQ to DataSet fornisce funzionalità di esecuzione delle query integrate nel linguaggio per dati disconnessi archiviati in un oggetto DataSet. LINQ to DataSet usa la sintassi LINQ standard e sono disponibili il controllo della sintassi in fase di compilazione, la tipizzazione statica e il supporto IntelliSense quando si usa l'IDE di Visual Studio.

Per altre informazioni, vedere LINQ to DataSet.

Vedi anche