Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
è DataSet uno dei componenti più ampiamente utilizzati di ADO.NET. Si tratta di un elemento chiave del modello di programmazione disconnesso su cui si basa ADO.NET e consente di memorizzare nella cache in modo esplicito i dati da origini dati diverse. Per il livello di presentazione, il DataSet è strettamente integrato con i controlli GUI per il data-binding. Per il livello intermedio, fornisce una cache che mantiene la forma relazionale dei dati e include semplici servizi di navigazione di query e gerarchia rapidi. Una tecnica comune per ridurre il numero di richieste a un database è usare la DataSet memorizzazione nella cache nel livello intermedio. Si consideri, ad esempio, un'applicazione Web basata sui dati ASP.NET. Spesso, una parte significativa dei dati dell'applicazione non cambia frequentemente ed è comune tra sessioni o utenti. Questi dati possono essere mantenuti in memoria nel server Web, riducendo il numero di richieste nel database e accelerando le interazioni dell'utente. Un altro aspetto utile di DataSet è che consente a un'applicazione di inserire subset di dati da una o più origini dati nello spazio dell'applicazione. L'applicazione può quindi modificare i dati in memoria, mantenendone la forma relazionale.
Nonostante la sua importanza, le funzionalità di query di DataSet sono limitate. Il Select metodo può essere usato per filtrare e ordinare, e i metodi GetChildRows e GetParentRow possono essere usati per la navigazione nella gerarchia. Per qualsiasi elemento più complesso, tuttavia, lo sviluppatore deve scrivere una query personalizzata. Ciò può comportare applicazioni con prestazioni scarse e difficili da gestire.
LINQ to DataSet semplifica e velocizza le query sui dati memorizzati nella cache in un oggetto DataSet. Queste query vengono espresse nel linguaggio di programmazione stesso, anziché come valori letterali stringa incorporati nel codice dell'applicazione. Ciò significa che gli sviluppatori non devono imparare un linguaggio di query separato. Inoltre, LINQ to DataSet consente agli sviluppatori di Visual Studio di lavorare in modo più produttivo, perché l'IDE di Visual Studio fornisce il controllo della sintassi in fase di compilazione, la digitazione statica e il supporto di IntelliSense per LINQ. LINQ to DataSet può essere usato anche per eseguire query sui dati consolidati da una o più origini dati. Ciò consente molti scenari che richiedono flessibilità nel modo in cui i dati vengono rappresentati e gestiti. In particolare, le applicazioni generiche di creazione di report, analisi e business intelligence richiedono questo metodo di manipolazione.
Esecuzione di query su set di dati tramite LINQ to DataSet
Prima di iniziare a eseguire query su un oggetto DataSet usando LINQ to DataSet, è necessario popolare il DataSet. Esistono diversi modi per caricare dati in un DataSetoggetto , ad esempio usando la DataAdapter classe o LINQ to SQL. Dopo che i dati sono stati caricati in un DataSet oggetto, è possibile iniziare a eseguirne una query. La formulazione di query che usano LINQ to DataSet è simile all'uso di Language-Integrated Query (LINQ) su altre origini dati compatibili con LINQ. Le query LINQ possono essere eseguite su singole tabelle in un DataSet o su più tabelle utilizzando gli operatori di query standard Join e GroupJoin.
Le query LINQ sono supportate sia su oggetti tipizzati che non tipizzati DataSet . Se lo schema di DataSet è noto in fase di progettazione dell'applicazione, è consigliabile un DataSet tipizzato. In un tipo DataSet le tabelle e le righe hanno membri tipizzati per ogni delle colonne, in modo da rendere le query più semplici e più leggibili.
Oltre agli operatori di query standard implementati in System.Core.dll, LINQ to DataSet aggiunge diverse DataSetestensioni specifiche che semplificano la query su un set di DataRow oggetti. Queste DataSetestensioni specifiche includono operatori per il confronto di sequenze di righe, nonché metodi che forniscono l'accesso ai valori di colonna di un oggetto DataRow.
Applicazioni a più livelli e LINQ to DataSet
Le applicazioni dati a più livelli sono applicazioni incentrate sui dati separate in più livelli logici (o livelli). Un'applicazione tipica a più livelli include un livello presentazione, un livello intermedio e un livello dati. La separazione dei componenti dell'applicazione in livelli separati aumenta la gestibilità e la scalabilità dell'applicazione. Per altre informazioni sulle applicazioni dati a più livelli, vedere Usare set di dati nelle applicazioni a più livelli.
Nelle applicazioni a più livelli, viene DataSet spesso usato nel livello intermedio per memorizzare nella cache le informazioni per un'applicazione Web. La funzionalità di query LINQ to DataSet viene implementata tramite metodi di estensione ed estende il ADO.NET 2.0 DataSetesistente.