Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Creare un database su SQL Azure con Visual Studio 2010 e "Model First" di Entity Framework

SQL Azure è il database relazionale "on the cloud" che fa parte della piattaforma di servizi Windows Azure. Lo scopo di questo post è illustrare come creare un database in SQL Azure e poi come generare delle tabelle/entità all'interno del database stesso utilizzando Microsoft Visual Studio 2010. Chiaramente è necessario avere connettività anche nella seconda parte del post, laddove utilizzeremo VS 2010 per accedere alla "cloud". Altro chiarimento: non parleremo di come acquistare i servizi di Windows Azure, perché ci sono altre sedi più appropriate, nè di come funziona il portale per sviluppatori. Daremo quindi per scontato che abbiate accesso al portale stesso. Una volta fatto il login al portale, ci spostiamo nell'area di SQL Azure:

Come potete vedere nella parte centrale della pagina abbiamo una serie di informazioni e controlli per l'amministrazione. In particolare teniamo a mente il nome del server (l'ho oscurato per ovvi motivi :-)) e poi facciamo click su Create Database. A questo punto ci basta specificare il nome del database (nell'esempio l'ho chiamato PersonalData) e il tipo di edizione, web o business:

Vi ricordo che se state sfruttando i benefit dell'abbonamento MSDN, utilizzate l'edizione Web per rimanere nei limiti dell'abbonamento stesso. Una volta fatto questo, il database è creato e, facendo click su Connection Strings, si può visualizzare la stringa di connessione sia per ADO.NET che per OleDb, sebbene in questo momento non ne abbiamo la necessità:

Importante: tramite la scheda chiamata Firewall, assicuriamoci (creando un'apposita regola) che il nostro indirizzo IP sia abilitato ad accedere al server, altrimenti tutti i prossimi passaggi saranno infruttuosi. Il portale, però,  non consente la creazione di tabelle o la gestione del db. Per fare questo abbiamo due possibili strade (ma non le uniche) da percorrere: la prima possibilità è utilizzare SQL Server Management Studio 2008 R2, che supporta SQL Azure. L'altra è utilizzare Visual Studio 2010, ad esempio sfruttando le funzionalità di Model First messe a disposizione da ADO.NET Entity Framework. Giusto per capirci, in Visual Studio 2010 creiamo una class library. A questo nuovo progetto aggiungiamo un Entity Data Model:

Fatto questo specifichiamo che il modello verrà creato da zero:

Quando il designer di Entity Framework è disponibile in Visual Studio, possiamo aggiunere entità e relazioni. Per le nostre finalità dimostrative aggiungiamo una banale entità chiamata Document, senza complicare troppo le cose (ci interessa infatti capire come usare VS 2010 verso SQL Azure). Quindi, facciamo click destro e scegliamo Add Entity:

L'entità Document sarà composta da 4 semplicissime proprietà che, ad eccezione di DocumentDate di tipo Date, sono tutte di tipo stringa:

Una volta terminata la modellazione dei dati, possiamo generare lo script SQL per la definizione della struttura all'interno del nostro database. Quindi, nel designer , tasto destro e poi Generate Database From Model. Visual Studio 2010 a questo punto ci chiederà di specificare la connessione al database. Non dovremo far altro che specificare il nome del server di SQL Azure e le informazioni di autenticazione SQL come faremmo in qualunque altra connessione a un normale db di SQL Server:

Una volta configurata la connessione, Visual Studio presenta lo script SQL che va eseguito per definire la struttura effettiva del db:

(Piccola precisazione: il Transact-SQL per SQL Azure ha qualche diversità rispetto al classico, documentazione qui). A meno che non siamo già connessi al server, facciamo click sul pulsante Connect. Questo ci richiederà, tramite una nota dialog, di specificare le credenziali di accesso:

Come vedete, non facciamo altro che indicare il nome del server di SQL Azure e le credenziali SQL associate al nostro account. Una volta fatto l'accesso cliccheremo sul pulsante Execute SQL in Visual Studio. Se tutto va a buon fine, la creazione della struttura dati all'interno del database SQL Azure verrà completata e lo stesso db sarà accessibile dalle nostre applicazioni in modo essenzialmente analogo a quanto siamo abituati a fare verso i db di SQL Server classici, quindi connessioni ADO.NET oppure Entity Framework. A tal proposito la stringa di connessione da utilizzare sarà quella che viene fornita nel portale di SQL Azure e che abbiamo visto in precedenza, oppure specificandola in Visual Studio come siamo abituati a fare quando ci connettiamo a un db.

In sintesi, utilizzare la funzionalità di Model First offerta da Visual Studio 2010 costituisce una buona alternativa per creare strutture dati in database ospitati su SQL Azure.

Alessandro

Print | posted on sabato 13 novembre 2010 16:48 | Filed Under [ Visual Studio 2010 ]

Powered by:
Powered By Subtext Powered By ASP.NET