Object-Relational Designer



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:

  • singole tabelle
  • relazioni tra tabelle
  • stored procedures
  • funzioni
  • vincoli di ereditarietà tra classi

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

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.

Ultimi articoli Editor

Adobe Edge, la prima animazione HTML5

Come creare una animazione HTML5 con Adobe Edge, esempio completo

Adobe Edge, l'interfaccia

Esaminiamo pannelli e menu del tool gratuito di Adobe per la...

Trasformazioni XSLT in Dreamweaver 8

Primo sguardo agli strumenti XML: trasformare un feed RSS

Layout senza tabelle con Dreamweaver 8

Esaminiamo gli strumenti CSS avanzati del software di Adobe/Macromedia

Il nuovo Dreamweaver 8

Panoramica delle principali novità dell'ultima release del popolare...

Altri articoli

Guide Editor

Guida WebMatrix

Entrare nel mondo dello sviluppo di applicazioni Web con Webmatrix,...

Guida Notepad++

Un editor testuale che funziona perfettamente anche come editor HTML...

Guida Aptana

Creare siti Web o applicazioni con Aptana, l'editor open source,...

Altre guide

Newsletter @Daily HTML.it

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

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti