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.
L'elaborazione dei dati si basa tradizionalmente principalmente su un modello a due livelli basato su connessione. Poiché l'elaborazione dei dati usa sempre più architetture multilivello, i programmatori passano a un approccio disconnesso per offrire una migliore scalabilità per le applicazioni.
componenti ADO.NET
I due componenti principali di ADO.NET per l'accesso e la modifica dei dati sono i provider di dati .NET Framework e .DataSet
Provider di dati .NET Framework
I provider di dati .NET Framework sono componenti progettati in modo esplicito per la manipolazione dei dati e l'accesso rapido, forward-only e di sola lettura ai dati. L'oggetto Connection
fornisce la connettività a un'origine dati. L'oggetto Command
consente l'accesso ai comandi del database per restituire dati, modificare i dati, eseguire stored procedure e inviare o recuperare informazioni sui parametri.
DataReader
fornisce un flusso di dati ad alte prestazioni dalla sorgente dati. Infine, DataAdapter
fornisce il ponte tra l'oggetto DataSet
e l'origine dati.
DataAdapter
usa oggetti Command
per eseguire comandi SQL sull'origine dati, sia per caricare DataSet
con i dati che per riconciliare le modifiche apportate ai dati in DataSet
, riportandole all'origine dati. Per altre informazioni, vedere Provider di dati .NET Framework e recupero e modifica dei dati in ADO.NET.
Set di dati
Il ADO.NET DataSet
è progettato in modo esplicito per l'accesso ai dati indipendentemente da qualsiasi origine dati. Di conseguenza, può essere usato con origini dati multiple e differenti, usato con dato XML, oppure usato per gestire i dati locali all'applicazione.
DataSet
Contiene una raccolta di uno o più DataTable oggetti costituiti da righe e colonne di dati, nonché chiave primaria, chiave esterna, vincolo e informazioni sulle relazioni sui dati negli DataTable
oggetti. Per altre informazioni, vedere DataSet, DataTables e DataViews.
Il diagramma seguente illustra la relazione tra un provider di dati .NET Framework e un oggetto DataSet
.
architettura ADO.NET
Scelta di un datareader o di un set di dati
Quando si decide se l'applicazione deve usare un DataReader
oggetto (vedere Recupero di dati tramite un DataReader) o un DataSet
oggetto (vedere Set di dati, DataTable e DataViews), prendere in considerazione il tipo di funzionalità richieste dall'applicazione. Usare un DataSet
oggetto per eseguire le operazioni seguenti:
Memorizzare nella cache i dati in locale nell'applicazione in modo da poterli modificare. Se è sufficiente leggere i risultati di una query, è
DataReader
la scelta migliore.Dati remoti tra livelli o da un servizio Web XML.
Interagire con i dati in modo dinamico, ad esempio l'associazione a un controllo Windows Form o la combinazione e la correlazione dei dati da più origini.
Eseguire un'elaborazione completa sui dati senza richiedere una connessione aperta all'origine dati, che libera la connessione da usare da altri client.
Se non richiedi la funzionalità fornita da DataSet
, puoi migliorare le prestazioni della tua applicazione utilizzando DataReader
per restituire i dati in modalità forward-only e di sola lettura.
DataAdapter
Anche se usa per DataReader
riempire il contenuto di un oggetto DataSet
(vedere Popolamento di un dataset da un DataAdapter), usando DataReader
, è possibile migliorare le prestazioni perché si salverà la memoria utilizzata da DataSet
e si evita l'elaborazione necessaria per creare e riempire il contenuto di DataSet
.
LINQ to DataSet
LINQ to DataSet offre funzionalità di query e controllo dei tipi in fase di compilazione sui dati memorizzati nella cache in un oggetto DataSet. Consente di scrivere query in un linguaggio di sviluppo .NET Framework, ad esempio C# o Visual Basic. Per altre informazioni, vedere LINQ to DataSet.
LINQ to SQL
LINQ to SQL supporta le query su un modello a oggetti mappato alle strutture di dati di un database relazionale senza usare un modello concettuale intermedio. Ogni tabella è rappresentata da una classe separata, accoppiando strettamente il modello a oggetti allo schema del database relazionale. LINQ to SQL converte le query integrate nel linguaggio nel modello a oggetti in Transact-SQL e le invia al database per l'esecuzione. Quando il database restituisce i risultati, LINQ to SQL converte nuovamente i risultati in oggetti . Per altre informazioni, vedere LINQ to SQL.
ADO.NET Entity Framework
Il ADO.NET Entity Framework è progettato per consentire agli sviluppatori di creare applicazioni di accesso ai dati tramite la programmazione in base a un modello applicativo concettuale invece di programmare direttamente in base a uno schema di archiviazione relazionale. L'obiettivo è ridurre la quantità di codice e manutenzione necessaria per le applicazioni orientate ai dati. Per altre informazioni, vedere ADO.NET Entity Framework.
WCF Data Services
WCF Data Services viene usato per distribuire i servizi dati nel Web o in una intranet. I dati sono strutturati come entità e relazioni in base alle specifiche di Entity Data Model. I dati distribuiti in questo modello sono indirizzabili dal protocollo HTTP standard. Per altre informazioni, vedere WCF Data Services 4.5.
XML e ADO.NET
ADO.NET sfrutta la potenza di XML per fornire l'accesso disconnesso ai dati. ADO.NET è stato progettato a portata di mano con le classi XML in .NET Framework; entrambi sono componenti di una singola architettura.
ADO.NET e le classi XML in .NET Framework convergeno nell'oggetto DataSet
. Può DataSet
essere popolato con i dati di un'origine XML, sia che si tratti di un file o di un flusso XML. Può DataSet
essere scritto come XML conforme a World-Wide Web Consortium (W3C) che include il relativo schema come schema XSD (XML Schema Definition Language), indipendentemente dall'origine dei dati in DataSet
. A causa del formato di serializzazione nativo di DataSet
è XML, è un supporto eccellente per lo spostamento dei dati tra livelli, rendendo la scelta ottimale per la DataSet
comunicazione remota dei dati e del contesto dello schema da e verso un servizio Web XML. Per altre informazioni, vedere Documenti e dati XML.