Posted on Lascia un commento

asp.net mvc facile facile – Database

Il database di default

Avete creato il vostro primo progetto ASP.NET MVC. Potete eseguirlo attraverso Visual Studio. Il sito è perfettamente funzionante e vi permette già la registrazione di un nuovo utente ed il login. Se potete registrarvi ed accedere significa che “sotto” al sito è già presente un database. Per sapere dove è il database e quali tabelle compongono la gestione utenti, aprite in Visual Studio SQL Server Object Explorer e vedrete il vostro database sotto

localdb – DefaultConnection

DefaultConnection è il nome della stringa di connessione usata dalla vostra applicazione per collegarsi al Database. Se osservate il contenuto di Tables vedete tabelle che gestiscono gli utenti. Se avete creato il sito usando il Framework 4.5.1 o 4.5.2 queste tabelle sono 6.

Il nostro database SQL Server

Noi non vogliamo lavorare sul  database di default, bensì su un database di SQL Server sulla nostra macchina o in rete. Creiamo un database di SQL Server da qualche parte. Ora dobbiamo fare puntare il nostro sito a questo database. Aprite il file web.config e cercate il tag connectionStrings. Sostituite la stringa di connessione con una valida connessione al vostro database SQL Server (in rete trovate le stringhe di connessione). Lasciate il nome del tag a “DefaultConnection”. Lanciate l’applicazione attraverso Visual Studio.

Questo è un nuovo database quindi l’utente che avete creato prima sul database di default non esiste. Dovete ri-effettuare la registrazione e, a questo punto, potrete effettuare il login. Se ora controllate il contenuto del vostro database SQL Server (con Visual Studio SQL Server Object Explorer oppure con SQL Server Management Studio) vedrete che ci sono anche qui le 6 tabelle che permettono la gestione degli utenti. Create dal sito stesso.

Nel vostro progetto infatti esistono i modelli delle tabelle che consentono la gestione degli utenti (nella directory Models), e il vostro sito, vedendo che sul database non esistevano le tabelle relative , le ha create per voi. Molto comodo.

Da qui in poi creerete i vostri modelli, cioè i contenitori dei vostri dati e il sito tenterà sempre di creare le tabelle relative per voi. Questo non è una procedura comoda perchè non vi consente errori o ripensamenti mentre create il vostro modello. E’ meglio dire al sito di non stare da qui in poi a controllare la reciprocità modello – tabella: costruirete i vostri modelli a mano e quindi le vostre tabelle su SQL Server. Per comunicare questo al sito, aprite il file Global.asax.cs e nella funzione Application_Start(), aggiungete questa riga :

Database.SetInitializer<YourSite.Models.ApplicationDbContext>(null);

Dove ApplicationDbContext è il nome della classe che si connette al database usando la stringa DefaultConnection. Cercatela nel sito.

 

Posted on Lascia un commento

asp.net mvc facile facile . Introduzione – parte 1

nb. Se deciderete di lavorare con questa tecnologia, ogni volta che avete un dubbio o la necessità di un approfondimento, vi basta andare sul vostro motore di ricerca preferito e digitare la vostra ricerca (con parole in inglese) , preceduta dalle semplici parole ASP.NET MVC. Troverete tutte le risposte.

Quando parliamo di ASP.NET MVC intendiamo in generale la creazione di siti con Visual Studio, utilizzando il linguaggio c# ed impostando lo sviluppo secondo le norme di programmazione MVC.

MVC sta per Model – View – Controller. Nella pratica ogni vecchia pagina web è ora costruita utilizzando 3 file diversi. Oppure, i 3 file insieme costituiscono la pagina. Due di questi file sono codice c# puro ed hanno estensione .cs, il terzo è codice html e ha estensione .cshtml. In ognuno dei 3 file c’è un pezzo di codice. Scrivere le cose in questo modo vi permetterà di essere più rapidi nello sviluppo. Per ora vi dovete fidare.

Facciamo un esempio. Se cercate con il browser la pagina http://www.miodominio.com/Prodotti/Index,   il sito cercherà un file che si chiama ProdottiController.cs  (il primo dei nostri 3).  Nel file ProdottiController.cs c’è almeno la classe ProdottiController. All’interno di questa classe, in questo file, esiste una funzione di nome Index. A questo punto il Controller fa 2 cose: cerca nel sito un file chiamato Index.cshtml . Questo file (è la View) contiene il nostro html. In alcuni casi nella pagina del sito ci sono solo scritte statiche. Se invece è previsto che in questa pagina ci siano dati dinamici, il controller crea una rappresentazione dell’insieme dei dati partendo da un terzo file che può avere qualsiasi nome, per esempio Item.cs (il Model) e lo da in pasto al file Index.cshtml che ci appare infine sul browser. Spiegazione lunga ma funziona tutto in un attimo.

Dalla spiegazione capite che ci sono delle regole precise sui nomi dei file : ci viene quindi imposto un modo di organizzare i file, una strada da percorrere sempre uguale che renderà il nostro codice più ordinato, manutenibile e leggibile dai nostri colleghi programmatori.

Ora aprite Visual Studio e create il primo sito ASP.NET MVC. Trovate tantissime guide sul web ma potete anche provarci da soli. Analizziamo la struttura delle cartelle che compongono il sito e vediamo quello che ci potete fare. Nel sito trovate sicuramente queste 3 cartelle :

  •  Controller
  •  Model
  •  View

Nella cartella controller ci staranno, i file Controller. Potete dare a questi file qualsiasi nome nella forma QualcosaController.cs. All’interno delle cartella potete creare tutte le sottocartelle che volete e con qualsiasi nome per riordinare meglio i file Controller che andrete a creare.

Nella cartella Model ci staranno i file Model. Potete dare a quest file qualsiasi nome e creare tutte le sottocartelle che volete.

Nella Cartella View ci staranno le View. All’interno di questa cartella deve esistere, per ogni Controller, una sottocartella che si chiama esattamente come il Controller (senza Controller.cs). Nei nostri esempi avremo quindi una cartella Prodotti ed una cartella Qualcosa. All’interno di questa cartella ci saranno tanti file .cshtml quante sono le funzioni presenti nel file Controller o meglio le funzioni del Controller che volete siano utilizzate dall’esterno. Devono chiamarsi esattamente come la funzione. Nel nostro esempio avremo :

  •  Controller
    •  ProdottiController.cs
    •  QualcosaController.cs
  •  Model
    •  Item.cs
  •  View
    •  Prodotti
      •  Index.cshtml
    •  Qualcosa

Il bello di tutta questa gestione è che Visual Studio la fa per voi in automatico e tra un po vedremo come.