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: ,,,

7 Megabit per secondo…o quasi

Disavventure, Geek Lifestyle No Comments »

Ormai ero rassegnato: non mi metteranno mai la 7Mbps smile_sad.

Oggi ero deciso : "Chiamo Telecom e mi incavolo!" ma prima controllo che non sia stata fatta qualche modifica alla linea.

[http … admin…router]

Ed eccoci nella pagina di amministrazione del router…e cosa vedo ? smile_omg 

Segnali di SNR e Attenuazione calati a picco … scorro la pagina…

Dowload Rate: 6880 kbps
Upload Rate: 480 kbps

FINALMENTE smile_party

Non ero piu’ nella pelle…corro ad accendere il PC e fare uno SpeedTest: purtroppo
non sono in una posizione favorevole, download massimo 5600kps (circa) ed upload nella norma (380 kbps).

MI va benissimo!

Non resta che attendere che qualche anima pia del Customer Care di Telecom Italia si degni di chiamarmi per risolvere definitivamente il problema del Modem mai richiesto.

SQLServer 2000 : Supporto? A pagamento !

Disavventure, Software, Troubleshooting 1 Comment »

Eheh … non poteva che capitare a me! smile_sad.

Tempo di rilascio nuova versione del software, mi dico:

Proviamo ad eseguire gli script di aggiornamento del DB anche su SQLServer 2000

(di default abbiamo SQLServer2005 ma in UN caso, abbiamo ancora SQLServer 2000).

Bene, il seguente errore vien fuori:

ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 54 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
[Microsoft][ODBC SQL Server Driver][DBMSLPCN]ConnectionWrite (WrapperWrite()).

Cerca, ricerca, googla e … finalmente trovo che e’ un errore noto sulla Knowledge Base di Microsoft.

FIX: An access violation may occur when you try to run a Transact-SQL query in SQL Server 2000

Cosa fare ? Proviamo a chiamare il numero del supporto tecnico Microsoft per farci dare l’hotfix che tanto vorremmo installare.

Omino Microsoft: Pronto Microsoft
IO: Pronto, chiamo per avere l’hotfix numero 909089
[…] secondi interminabili che scorrono […]
Omino Microsoft: Pronto? Senta non posso inviargliela.
IO: Perche’ ?
Omino Microsoft: Beh, da un po’ il supporto standard e’ terminato. Ora gli hotfix sono a pagamento!
IO: Ehm … scusi ma … SQLServer 2008 NON e’ uscito ancora ufficialmente…non dovrebbero terminare il supporto Standard al rilascio di SQLServer 2008 ?
Omino MS: No, mi spiace … sono gia’ a pagamento.
IO: Bene … chiedo e richiamo in caso mi danno l’OK dall’alto.

Morale della favola ? Io ed i miei colleghi (tra cui Innoland) abbiamo analizzato meglio lo script che faceva impallare SQLServer e l’abbiamo riscritto in modo che "gli piacesse".

Con questo colgo l’occasione per chiedere SCUSA a (Lady).Chobin … LEI sa perche’ smile_embaressed.

Upgrade a 7Mbps … il calvario continua

Disavventure 1 Comment »

Come ricorderete, la Telecom aveva "promesso" l’upgrade a 7Mbps di cui io avrei voluto approfittare prima che si ricordassero del paese in cui abito.

Il calvario, dunque, continua: la mia linea continua ad essere a 640Kbps dal giorno DOPO la mia richiesta di aggiornamento.

Nonostante i miei FAX e le mie proteste, tutto tace; del modem che ho ri-spedito indietro con Assicurata di €10.84, non c’è riscontro.

Attendo la prossima fattura: sarà allora che tirerò fuori ricevute e fax…e poi vediamo se non faccio una raccomandata all’AGCOM.

smile_sad Tristezza!

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in