LINQ To SQL: un buon inizio

Programming No Comments »

Spinto dalla voglia di rimettermi in carreggiata con .NET 3.5 (troppe volte ho rimandato l’inizio dello studio delle nuove feature), ho preso la palla al balzo per sfruttare LINQ To SQL per un progettino (personale) iniziato quasi un anno fa ma portato a rilento per svariati motivi.

Sono partito dall’OTTIMO articolo di Janky su MSDN Italia ma senza un’infarinatura, c’ho capito poco (sebbene sia scritto con diligenza).

Googlando, mi sono imbattuto nella fonte più elementare per LINQ To SQL: MSDN Library.
Dopo aver letto questo l’articolo ho iniziato a smanettare "a mano" sul Domain Model del progetto che intanto mi ero creato…

Dopo qualche entità, stufo della ripetitività del lavoro, mi sono chiesto se non fosse il caso di controllare che Visual Studio 2008 non c’avesse messo a disposizione tools che lo fanno in automatico (come anche citato dall’articolo di Janky): detto, fatto.

Ebbene SI, a partire da un Database esistente, VS2008 permette di creare il Domain Model automaticamente ma NON SOLO; il Domain Model creato sarà stato decorato con gli attributi necessari sulle variabili membro delle classi!

Come arrivare al designer di LINQ To SQL ?

Bene, proverò a spiegarvelo in brevi passi; sono alle prime armi anch’io con questo nuovo strumento (tecnicamente ORM - Object Relational Model).

Passo 1: Creazione di un progetto .NET 3.5

Semplicemente, create un nuovo progetto VS2008 (che sia una Console Application o una Windows Forms Application, poco importa) facendo ATTENZIONE al fatto che il .NET Framework di riferimento sia .NET Framework 3.5.

Step_1


Passo 2:
Aggiunta delle classi Linq To Sql

Aggiungete, al Vs. progetto, una classe di tipo Linq To SQL Classes

Step_2

Passo 3: Trascinate le tabelle nel Designer

Dopo qualche gracchìo del Vs. Hard disk, sarete catapultati NEL Designer vero e proprio.

Step_3

E qui che arriva il dilemma: se decidete di procedere per il DDD (Domain Driven Design), create in questo Designer le classi che DOPO(dopo che l’avete ricontrollato 1000 volte) diventeranno AUTOMATICAMENTE tabelle di Database (sul come dedicherò un altro post).

L’altra via è quella del design bottom-Up ovvero partite da un DB WELL DESIGNED (ovvero stabile e senza necessità di grossi cambiamenti) e ne fate generare le classi già belle che decorate.

Quello che io ho fatto la prima volta che ho usato questo designer è stato (purtroppo) proprio questo: generare le classi a partire dal DB.

Cambiate pannello ed attivate il Server Explorer. Aggiungete, al Nodo "Data Connections", la connessione al Vs. DB.

Esplodete, successivamente, tutti i nodi che portano all’elenco delle tabelle e, di lì, trascinate sul designer a destra.

Ed ecco a voi un esempio di classi generate nel designer.

Step_4

Una domanda che spesso mi viene posta a riguardo è: "A cosa serve il Methods Pane" che si può mostrare scegliendo "Show Method Pane" dal menu contestuale ?

Risposta: Se avete un’applicazione già funzionante che si basa su stored Procedure e volete che LINQ richiami PROPRIO queste per eseguire determinati script T-SQL, potete TRASCINARLE in quel pannello e VS2008 le trasformerà in metodi.

Spero d’essere stato utile a qualcuno o, per lo meno, ad aver messo la pulce nell’orecchio a chi non sapeva dell’esistenza del Designer di VS2008.

A questo punto, leggendo gli articoli suggeriti, dovreste essere in grado di "camminare da soli"; i prossimi post a riguardo saranno sicuramente un po’ piu’ a "basso livello".

del.icio.us Tags: ,,,
WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in