Con l'arrivo di LINQ (Language-INtegrated Query) nel .NET Framework 3.5 e delle tecnologie figlie (LINQ to DataSet e LINQ to SQL), è stato importante aggiungere a Visual Studio un nuovo designer in grado di assistere lo sviluppatore nella gestione di oggetti e relazioni Linq to SQL.
La tecnologia Linq to SQL è un OR/M (Object Relational Mapper) che fornisce un'infrastruttura per manipolare dati relazionali (prelevati da un database SQL Server) come se fossero degli oggetti e permetterci poi di eseguire query CRUD sui dati attraverso LINQ, senza quindi alcuna interazione diretta con la base di dati.
Nota: Attualmente il designer Object-Relational supporta solamente SQL Server.
Il nuovo designer permette di definire in maniera visuale le entità Linq to SQL, dell'applicazione. Al suo interno, possono essere infatti rappresentate, senza scivere codice:
Il designer si occupa inoltre di salvare il mapping tra le classi e gli oggetti del database, in un file con estensione .dbml e di generare un oggetto, figlio della classe DataContext, tipizzato.
Questo oggetto ha il compito di gestire tutti i tipi di eventi che vengono scatenati da dalle operazioni effettuate sugli elementi mappati e di gestire le comunicazioni tra le entità definite e la base di dati correlata. Tale oggetto potrà essere utilizzato sia all'interno di controlli di tipo DataSource che da codice attraverso query scritte tramite la sintassi LINQ.
Come abbiamo detto quindi, le tabelle della base di dati vengono trasformate dal designer in classi con definite una proprietà per ogni colonna presente nello schema della tabella, mentre le funzioni e le stored procedures, diventano metodi della classe tipizzata figlia di DataContext.
Se ad esempio creiamo il file ORM.dbml, verrà creata dal designer la relativa classe ORMDataContext, figlia diretta appunto della classe DataContext.
Il designer Object-Relational si presenta agli sviluppatori diviso in due parti: la zona di sinistra, pensata per contenere le entità logiche definite correlate di proprietà, relazioni e vincoli di ereditarietà, la zona di destra, adibita invece per ospitare tutti i metodi che sono stati mappati a stored procedures o a funzioni presenti nella base di dati.
Figura 1. Esempio di mapping
Una volta creato il mapping a formare il modello ad oggetti dell'accesso ai dati, possiamo visualizzare il codice .NET che il designer ha generato, per gestire le varie entità all'interno dell'applicazione attraverso classi specifiche e metodi di inserimento, aggiornamento o eliminazione.
È possibile, inoltre, aggiungere funzionalità custom: possiamo modificare il codice generato dal designer O-R, poiché per ogni entità viene generata una classe partial, con proprietà e metodi pre-definiti; il meccanismo delle classi parziali ci permette quindi eventuali aggiunte o modifiche.
Una volta compilati, possiamo usare gli oggetti entità generati, all'interno di query basate su LINQ, il nuovo linguaggio di selezione di dati integrato nel .NET Framework. Attraverso esso infatti, potremo eseguire ogni tipo di selezione, inserimento, modifica o cancellazione, senza scrivere una sola riga di codice SQL.
È importante notare che, al contrario di quanto accade con il DataSet Designer e i file .xsd, questo designer assieme alla tecnologia Linq To SQL, permette un mapping diretto degli oggetti presenti all'interno della base di dati con delle classi .NET.
Adobe Edge, la prima animazione HTML5Come creare una animazione HTML5 con Adobe Edge, esempio completo |
Adobe Edge, l'interfacciaEsaminiamo pannelli e menu del tool gratuito di Adobe per la... |
Trasformazioni XSLT in Dreamweaver 8Primo sguardo agli strumenti XML: trasformare un feed RSS |
Layout senza tabelle con Dreamweaver 8Esaminiamo gli strumenti CSS avanzati del software di Adobe/Macromedia |
Il nuovo Dreamweaver 8Panoramica delle principali novità dell'ultima release del popolare... |
Guida WebMatrixEntrare nel mondo dello sviluppo di applicazioni Web con Webmatrix,... |
Guida Notepad++Un editor testuale che funziona perfettamente anche come editor HTML... |
Guida AptanaCreare siti Web o applicazioni con Aptana, l'editor open source,... |
Ogni mattina, dal lunedì al venerdì, le novità pubblicate su tutti i siti tecnici del network HTML.it: articoli, guide, notizie dal Web, blog e molto altro.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |