Condividi tramite


Architettura di ADO.NET

L'elaborazione dei dati è stata sempre basata principalmente su un modello a due livelli basato su connessione.In considerazione dell'utilizzo crescente dell'architettura a più livelli per l'elaborazione dei dati, i programmatori si avvalgono di un approccio disconnesso per ottenere applicazioni con scalabilità maggiore.

Componenti di ADO.NET

I due componenti principali di ADO.NET 3.0per 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 espressamente progettati per la modifica dei dati e per un accesso ai dati rapido, di tipo forward-only e di sola lettura.L'oggetto Connection fornisce la connettività a un'origine datimentre l'oggetto Command consente di accedere ai comandi di database per restituire e modificare i dati, eseguire stored procedure e inviare o recuperare informazioni relative ai parametri.DataReader fornisce un flusso di dati a elevate prestazioni dall'origine datie infine DataAdapter costituisce infine un collegamento tra l'oggetto DataSet e l'origine dati.Gli oggetti Command vengono utilizzati da DataAdapter per eseguire comandi SQL nell'origine dati in modo da caricare dati in DataSet e risolvere le differenze relative alle modifiche apportate ai dati in DataSet fino all'origine dati.Per ulteriori informazioni, vedere Provider di dati .NET Framework (ADO.NET) e Recupero e modifica di dati in ADO.NET.

Il DataSet

L'oggetto DataSet di ADO.NET è stato espressamente progettato per un accesso ai dati indipendente dall'origine dati.Di conseguenza, può essere utilizzato con diverse origini dati, con dati XML o per la gestione di dati locali dell'applicazione.Il DataSet contiene una raccolta di uno o più oggetti DataTable, costituiti da righe e colonne di dati, nonché da informazioni su chiave primaria, chiave esterna, vincoli e relazioni relative ai dati degli oggetti DataTable.Per ulteriori informazioni, vedere DataSet, DataTable e DataView (ADO.NET).

Nel diagramma seguente viene illustrata la relazione tra un provider di dati .NET Framework e un DataSet.

Architettura di ADO.NET

Rappresentazione grafica del provider di dati

Selezione di un DataReader o un DataSet

Quando si decide se l'applicazione deve utilizzare un DataReader (vedere Recupero di dati mediante un DataReader (ADO.NET)) o un DataSet (vedere DataSet, DataTable e DataView (ADO.NET)), considerare il tipo di funzionalità richiesta per l'applicazione.Utilizzare un oggetto DataSet per eseguire le seguenti operazioni:

  • Memorizzare localmente i dati nella cache dell'applicazione in modo da poterli modificare.Se è necessario solo leggere i risultati di una query, il DataReader rappresenta la scelta migliore.

  • Eseguire attività remote sui dati tra livelli o da un servizio Web XML.

  • Interagire dinamicamente con i dati, associandoli ad esempio a un controllo Windows Form o combinando e correlando dati da più origini.

  • Eseguire un'elaborazione estensiva dei dati senza richiedere una connessione aperta all'origine dati, in modo da liberare la connessione per consentirne l'utilizzo da parte di altri client.

Se le funzionalità fornite dal DataSet non sono necessarie, è possibile migliorare le prestazioni dell'applicazione utilizzando il DataReader per restituire i dati in modo forward-only e di sola lettura.Benché il DataReader venga utilizzato dal DataAdapter per compilare il contenuto di un DataSet (vedere Compilazione di un DataSet da un oggetto DataAdapter (ADO.NET)), l'utilizzo del DataReader consente di migliorare le prestazioni, liberando memoria altrimenti utilizzata dal DataSet ed evitando di utilizzare il processo per la creazione e la compilazione del contenuto del DataSet.

LINQ to DataSet

LINQ to DataSet fornisce funzionalità di query e controllo dei tipi in fase di compilazione sui dati memorizzati nella cache in un oggetto DataSet.Consente inoltre di scrivere query in uno dei linguaggi di sviluppo di .NET Framework, ad esempio C# o Visual Basic.Per ulteriori informazioni, vedere LINQ to DataSet.

LINQ to SQL

LINQ to SQL supporta l'esecuzione di query su un modello a oggetti mappato alle strutture dei dati di un database relazionale senza utilizzare un modello concettuale intermedio.Ogni tabella è rappresentata da una classe distinta, che consente di connettere il modello a oggetti allo schema del database relazionale.LINQ to SQL converte le query LINQ del modello a oggetti in Transact-SQL e le invia al database per l'esecuzione.I risultati restituiti dal database vengono quindi riconvertiti in oggetti.Per ulteriori informazioni, vedere LINQ to SQL.

ADO.NET Entity Framework

ADO.NET Entity Framework è progettato per consentire agli sviluppatori di creare applicazioni di accesso ai dati tramite programmazione in base a un modello di applicazione concettuale anziché direttamente in base a uno schema di archiviazione relazionale.L'obiettivo è quello di ridurre la quantità di codice e le operazioni di manutenzione necessarie per le applicazioni orientate ai dati.Per ulteriori informazioni, vedere ADO.NET Entity Framework.

WCF Data Services

WCF Data Services viene utilizzato per distribuire servizi dati nel Web o in una rete 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 tramite il protocollo HTTP standard.Per ulteriori informazioni, vedere WCF Data Services.

XML e ADO.NET

ADO.NET si avvale di XML per fornire un accesso disconnesso ai dati.ADO.NET è stato progettato in stretta associazione con le classi XML in .NET Framework: si tratta di componenti di un'unica architettura.

In .NET FrameworkADO.NET e le classi XML convergono nell'oggetto DataSet.È possibile compilare il DataSet con dati provenienti da un'origine XML, sia che si tratti di un file che di un flusso XML.È possibile scrivere il DataSet sotto forma di XML in conformità con le specifiche W3C (World Wide Web Consortium), includendone lo schema sotto forma di schema XSD (XML Schema Definition Language), indipendentemente dall'origine dati nel DataSet.XML, che costituisce il formato di serializzazione nativo del DataSet, rappresenta un supporto eccellente per lo spostamento di dati tra i livelli e rende il DataSet una soluzione ottimale per le attività in remoto relative al contesto dei dati e dello schema da e per un servizio Web XML.Per ulteriori informazioni, vedere Documenti e dati XML.

Vedere anche

Altre risorse

Cenni preliminari su ADO.NET