Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

DataSet Designer

Costruire in modo visuale oggetti DataSet per la gestione dei DB
Costruire in modo visuale oggetti DataSet per la gestione dei DB
Link copiato negli appunti

Già in Visual Studio 2005, è stato aggiunto un designer per la costruzione di strutture di dati tipizzate a partire dalle tabelle del database. Parliamo dei "DataSet tipizzati", che prendono il nome proprio dalla classe DataSet (namespace System.Data) che ha lo scopo di rappresentare i dati con un modello tabellare/relazionale.

Nel designer è possibile lavorare con quattro tipi differenti di oggetti:

DataTable

Un oggetto, derivato direttamente dalla classe DataTable, (sempre namespace System.Data), in grado di contenere dei dati all'interno di una struttura prestabilita fatta di colonne, chiavi primarie e vincoli. Molto utile per creare facilmente delle rappresentazioni dei dati da utilizzare nelle applicazioni.

TableAdapter

Un oggetto contenente una DataTable per rappresentare i dati da trattare e un'insieme di query basate proprio su tali dati. Questi oggetti vengono definiti come "classi di Business" e vengono utilizzati da controlli di tipo ObjectDataSource come fonte di informazioni, con l'aggiunta di tutti i meccanismi di inserimento, aggiornamento e cancellazione dei dati.

Quando si crea un nuovo TableAdapter, viene chiesta all'utente una query di selezione, la tabella risultante costituisce il materiale per da inserire nella DataTable. Se la query di selezione e lo schema della tabella coinvolta lo permettono, verranno create in automatico tutte le query CRUD legate appunto alla struttura scelta. Inoltre, l'utente è in grado di aggiungere nuove query, magari con l'utilizzo di parametri, con l'unico vincolo di rispettare la selezione delle colonne descritte dal DataTable.

Query

È possibile inserire all'interno del DataSet generale, una o più query, di aggiornamento, inserimento, cancellazione o di selezione (al massimo di una singola riga) che potranno essere utilizzate in maniera indipendentedal resto degli oggetti definiti all'interno del DataSet padre. Ogni volta che l'utente decide di aggiungere una nuova query infatti, questa verrà associata ad un particolare TableAdapter, creato in automatico dal designer senza alcun DataTable di definizione, con il compito di contenere appunto l'insieme di tutti questi tipi di oggetti. Tale TableAdapter avrà il nome di "QueriesTableAdapter".

Relation

All'interno del DataSet, le diverse DataTable possono essere correlate tra loro. Le relazioni nel DataSet sono simili a quelle tra le tabelle di un database relazionale, con chiavi primarie e chiavi esterne, vincoli di chiavi e vincoli di cancellazione o modifica a cascata. Ogni relazione viene definita rigorosamente tra due colonne di due DataTable differenti.

Il DataSet designer

L'insieme di tutti questi oggetti, permette all'utente di creare un set di strutture di dati preso direttamente dalle informazioni contenute nel database e di definire specifiche operazioni di selezione, inserimento, modifica o cancellazione, senza dover ogni volta scrivere tutto il codice.

La comodità unica del DataSet Designer di Visual Studio è data dal fatto che semplicemente trascinando una tabella del database, dalla finestra "Server Explorer" all'interno dell'area di contenuto dove è stato aperto il file .xsd, verrà creato in automatico un TableAdapter con un DataSet contenente tutte le colonne proprie della tabella e una query iniziale di selezione di tutte le righe presenti all'interno della tabella scelta; inoltre, vengono create in automatico anche le query di inserimento, modifica e cancellazione. Spostando le tabelle scelte dalla finestra "Server Explorer" all'interno del DataSet tipizzato, l'IDE crea in automatico strutture che possiamo utilizzare tramite controlli di tipo ObjectDataSource e controlli Data-Bound. Il tutto, senza scrivere una riga di codice.

Figura 1. Esempio di DataSet
Esempio di DataSet

Nota: se stiamo sviluppando un'applicazione Web, i file .xsd dovranno risiedere nella cartella speciale App_Code.


Ti consigliamo anche