Nonostante questa guida sia orientata principalmente ad ASP.Net MVC, è utile dedicare dello spazio a LINQ To SQL, una tecnologia che si adatta particolarmente bene al nuovo framework MVC.
LINQ To SQL è una componente del framework .Net che fa uso della tecnologia LINQ per accedere ai dati contenuti all'interno di un database SQL Server. Per funzionare LINQ To SQL associa ad ogni entità di un database una classe scritta in un linguaggio di programmazione come C# o Visual Basic, permettendo quindi allo sviluppatore di accedere ai dati come se si trattasse di normali classi. Non dovremo quindi scrivere manualmente codice SQL che verrà generato per noi in modo trasparente ed automatico da LINQ To SQL.
LINQ To SQL è un'ottima scelta per applicazioni di medie e piccole dimensioni grazie alla sua facilità di utilizzo ed all'integrazione all'interno di Visual Studio. A causa della sua semplicità, tuttavia, LINQ To SQL presenta anche alcuni limiti tra cui il fatto di non gestire nativamente associazioni di tipo molti-a-molti e di poter essere utilizzato soltanto con database SQL Server (sia nelle versione complete che nella Express Edition).
Per aiutarci nella nostra trattazione di LINQ To SQL utilizzeremo il progetto di esempio della galleria di immagini. Vi invito pertanto a scaricare il progetto in modo da poter seguire con più facilità i vari passaggi. Per il database faremo uso di SQL Server Express 2005 (scaricabile gratuitamente qui).
Per prima cosa è necessario creare il nuovo database. Per l'operazione possiamo fare affidamento sugli strumenti di Visual Studio. Aggiungiamo quindi un nuovo file di database, chiamato gallerydb.mdf
, nella cartella AppData
del progetto:
La galleria ha bisogno di una sola tabella, chiamata GalleryImages
, in cui salvare le informazioni sulle singole immagini. Di seguito è visualizzata la struttura della tabella con informazioni sui campi che la compongono:
Nome Campo | Tipo | Descrizione |
---|---|---|
ImageId |
Intero | Chiave primaria della tabella, utilizzato per identificare univocamente ogni singola immagine |
FileName |
Stringa | Nome del file dell'immagine |
FileExtension |
Stringa | Estensione del file dell'immagine |
Description |
Stringa | Descrizione dell'immagine |
Apriamo quindi il database creato in precedenza ed aggiungiamo la nuova tabella:
Il risultato una volta aggiunte le informazioni sui campi sarà simile al seguente:
Il database è pronto per essere utilizzato. Nella prossima lezione vedremo come creare le classi LINQ To SQL necessarie per accedere ai dati.
In questa guida ci occupiamo degli aspetti più basilari di LINQ, è possibile approfondire grazie agli articoli: