Condividi tramite


Cenni preliminari sui controlli origine dati

Aggiornamento: novembre 2007

ASP.NET include controlli origine dati che consentono di lavorare con differenti tipi di origini dati quali, ad esempio, database, file XML oppure oggetti business di livello intermedio. I controlli origine dati si connettono e recuperano i dati da un'origine dati e li mettono a disposizione di altri controlli per l'associazione, senza dover richiedere codice. Inoltre, possono supportare anche la modifica dei dati.

In questo argomento vengono descritti i diversi tipi di controllo origine dati di ASP.NET. Il modello di controllo origine dati è estensibile, di conseguenza è possibile creare controlli origine dati personalizzati che interagiscono con origini dati diverse o che forniscono funzionalità aggiuntive per un'origine dati esistente.

Confronto di un controllo origine dati

.NET Framework include controlli origine dati che supportano differenti scenari di associazione dati. Nella seguente tabella vengono illustrati i controlli origine dati incorporati. Più avanti in questo argomento vengono fornite informazioni dettagliate su ciascun tipo di controllo origine dati.

Controllo origine dati

Descrizione

LinqDataSource

Consente di utilizzare Language Integrated Query (LINQ) in una pagina Web ASP.NET tramite markup dichiarativo per recuperare e modificare i dati di un oggetto dati. Supporta la generazione automatica di comandi di selezione, aggiornamento, inserimento ed eliminazione. Il controllo supporta inoltre l'ordinamento, il filtraggio e lo spostamento.

EntityDataSource

Consente di eseguire l'associazione ai dati basati su Entity Data Model (EDM). Supporta la generazione automatica dei comandi Update, Insert, Delete e Select. Il controllo supporta anche l'ordinamento, le operazioni di filtro e il paging.

ObjectDataSource

Consente di lavorare con un oggetto business o un'altra classe e creare applicazioni Web che si basano su oggetti di livello intermedio per la gestione di dati. Supporta scenari di ordinamento e paging avanzati non disponibili con altri controlli origine dati.

SqlDataSource

Consente di utilizzare database Microsoft SQL Server, OLE DB, ODBC oppure Oracle. Se utilizzato con SQL Server, supporta capacità avanzate di memorizzazione nella cache. Quando i dati sono restituiti come un oggetto DataSet, il controllo supporta anche l'ordinamento, il filtro e il paging.

AccessDataSource

Consente di utilizzare un database Microsoft Access. Quando i dati sono restituiti come un oggetto DataSet, supporta l'ordinamento, il filtro e il paging.

XmlDataSource

Consente di utilizzare un file XML, soprattutto per i controlli server ASP.NET gerarchici quali, ad esempio, il controllo TreeView o Menu. Supporta capacità di filtro tramite le espressioni XPath e consente di applicare una trasformazione XSLT ai dati. XmlDataSource consente di aggiornare i dati salvando l'intero documento XML con le modifiche apportate.

SiteMapDataSource

Utilizzato con il sistema di spostamento all'interno dei siti ASP.NET. Per ulteriori informazioni, vedere Cenni preliminari sugli spostamenti all'interno dei siti ASP.NET.

Controllo LinqDataSource

Il controllo LinqDataSource consente di utilizzare LINQ in una pagina ASP.NET per recuperare dati da una tabella di database o una raccolta dati in memoria. È possibile utilizzare il markup dichiarativo per scrivere tutte le condizioni necessarie per recuperare, filtrare, ordinare e raggruppare i dati. Quando si recuperano dati da una tabella del database SQL, è anche possibile configurare un controllo LinqDataSource per gestire le operazioni di aggiornamento, inserimento ed eliminazione. A tal proposito, occorre scrivere comandi SQL per eseguire queste attività. Il controllo LinqDataSource consente di scrivere una minore quantità di codice per eseguire operazioni sui dati rispetto a quando si eseguono le stesse operazioni in altri controlli origine dati.

Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo server Web LinqDataSource.

Controllo SqlDataSource

Il controllo SqlDataSource recupera e modifica i dati utilizzando comandi SQL. Il controllo SqlDataSource utilizza i database Microsoft SQL Server, OLE DB, ODBC e Oracle.

Il controllo SqlDataSource può restituire i risultati come un oggetto DataReader o un oggetto DataSet. Questo controllo supporta l'ordinamento, il filtro e la memorizzazione nella cache quando i risultati sono restituiti come DataSet. Quando si utilizza Microsoft SQL Server, il controllo presenta l'ulteriore vantaggio di memorizzare nella cache i risultati che possono essere invalidati a fronte di una modifica del database, utilizzando un oggetto SqlCacheDependency.

Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo server Web SqlDataSource.

Controllo EntityDataSource

Il controllo EntityDataSource supporta gli scenari di associazione dati basati sul modello Entity Data Model (EDM). Tale specifica di dati rappresenta i dati come insiemi di entità e di relazioni. Entity Framework utilizza il modello EDM nel mapping relazionale a oggetti e in altri scenari quali ADO.NET Data Services. Il controllo EntityDataSource supporta Entity SQL (eSQL) come linguaggio di query e quest'ultimo supporta la specifica di query esposta dalla classe ObjectQuery<T>.

Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo server Web EntityDataSource.

Controllo ObjectDataSource

Il controllo ObjectDataSource funziona con un oggetto business o un'altra classe nelle applicazioni Web che si basano su oggetti business di livello intermedio per la gestione di dati. Il controllo è stato progettato per interagire con un oggetto che implementa uno o più metodi per il recupero o la modifica di dati. Quando i controlli con associazione a dati interagiscono con il controllo ObjectDataSource per recuperare o modificare dati, il controllo ObjectDataSource passa i valori dal controllo associato all'oggetto origine come parametri nelle chiamate al metodo.

I metodi di recupero dati dell'oggetto origine devono restituire un oggetto DataSet, DataTable o DataView, oppure un oggetto che implementa l'interfaccia IEnumerable. Se i dati vengono restituiti come un oggetto DataSet, DataTable o DataView, il controllo ObjectDataSource può memorizzare i dati nella cache e filtrarli. È anche possibile implementare scenari avanzati di impaginazione se l'oggetto origine accetta informazioni sulle dimensioni della pagina e sull'indice di record dal controllo ObjectDataSource.

Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo server Web ObjectDataSource.

Controllo XmlDataSource

Il controllo XmlDataSource legge e scrive i dati XML in modo da consentirne l'utilizzo tramite controlli quali, ad esempio, i controlli TreeView e Menu. Il controllo XmlDataSource può leggere un file XML o una stringa XML. Se il controllo utilizza un file XML, può riscrivere i dati XML modificati sul file di origine. Se è disponibile uno schema di descrizione dei dati, il controllo XmlDataSource può utilizzarlo per esporre i dati tramite membri tipizzati.

Ai dati XML è possibile applicare una trasformazione XSLT, in modo da poter ristrutturare i dati non elaborati del file XML in un formato più adatto al controllo che si desidera associare ai dati XML.

Ai dati XML è anche possibile applicare le espressioni XPath, che consentono di filtrare i dati XML in modo che restituiscano solo alcuni nodi nella struttura XML, che ricerchino i nodi contenenti valori specifici e così via. Se si utilizza un'espressione XPath, viene disattivata la possibilità di inserire nuovi dati.

Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo server Web XmlDataSource.

Controllo AccessDataSource

Il controllo AccessDataSource rappresenta una versione specializzata del controllo SqlDataSource, progettato per operare specificamente con i file mdb di Microsoft Access. Analogamente a quanto avviene con il controllo SqlDataSource, le istruzioni SQL consentono di definire le modalità adottate dal controllo per il recupero di dati.

Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo server Web AccessDataSource.

Controllo SiteMapDataSource

Il controllo SiteMapDataSource opera con le mappe dei siti ASP.NET e fornisce dati sul sistema di spostamento all'interno dei siti. In genere, viene utilizzato con il controllo Menu. Il controllo SiteMapDataSource risulta utile anche per personalizzare il sistema di spostamento all'interno dei siti utilizzando i dati della mappa del sito con i controlli server Web non progettati esclusivamente per la funzionalità di spostamento, come, ad esempio, il controllo TreeView o DropDownList.

Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo server Web SiteMapDataSource.

Vedere anche

Concetti

Cenni preliminari sull'accesso ai dati ASP.NET

Associazione a database

Utilizzo di parametri con controlli origine dati