Lezione 2 – Setup Database
Collegare un Database Sql Server ad una applicazione web .Net 6.x è abbastanza semplice e richiede una stringa di connessione che identifichi un Server, un Database, un Utente e Password.
Iniziamo con la gestione di SQL Server utilizzando Management Studio. L’applicazione è scaricabile dal sito Microsoft.
All’apertura ci viene richiesto di accedere ad un SQL Server con autenticazione, scegliamo quella del server.
Chiaramente utente e password sono stati definiti in precedenza e gli sono stati attribuiti i diritti per amministrare database e tutto il resto. Potete trovare guide di ottimo livello che lo spiegano in dettaglio.
Quindi una volta connessi al server possiamo andare a verificare cosa contiene.
Al momento non contiene nessun database. Vediamo come utilizzare VS2022 per accedere e modificare un database che utilizzeremo per l’accesso utente e per il resto dei dati del sito di shopping online.
Apriamo il file appsettings.json e sostituiamo la ConnectionStrings con quella che ci permette di accedere al nostro server. Nel nostro caso la stringa da utilizzare sarà la seguente:
"DefaultConnection": "Data Source=ETBWDDEV;Initial Catalog=FoodShopDB;Persist Security Info=True;User ID=admin;Password=pwdadmin"
Lanciamo il Debug e attendiamo che IIS Express visualizzi la homepage del sito. In alto a destra nel menu troviamo Register con un click entriamo nella pagina di creazione di un nuovo utente. Inseriamo una email (in questo momento non è importante che sia una email vera) e la password.
Un clck sul bottone Register e l’applicazione visualizzarà una pagina di alet.
Nella pagina troviamo ApplicationDbContext 00000000000000_CreateIdentitySchema e un bottone con Apply Migration. Un click sul bottone e dopo la comparsa del messaggio di apply eseguito fate refresh della pagina e clickate per continuare. Dopo il refresh il sito ci richiederà di confermare la nuova utenza. Possiamo fermare il Debug e verificare il contenuto del database.
Aggiorniamo i dati visualizzati dal Management Studio e andiamo nel folder Database per visualizzare un nuovo database di nome FoodShopDB. Tra le tabelle troviamo AspNetUsers che contiene i dati utente nella quale troviamo l’utente appena creato.
Cosa è successo e perché. Abbiamo utilizzato la funzionalità del Code First Migrations di Entity Framework. Che cos’è Entity Framework , è un framework/libreria che permette di utilizzare/accedere ai database per modificarne il contenuto e la struttura.
Andiamo su VS2022 e apriamo Data/Migrations/00000000000000_CreateIdentitySchema.cs.
Possiamo vedere che è stato generato un codice in C# con le classi e i comandi per modificare il database e generare le nuove tabelle necessaria alla gestione degli utenti del sito. Chiaramente le informazioni registrate avranno a disposizione un numero limitato e standard di campi. Nella prossima lezione vedremo come aggiungere all’utente nuovi campi, necessari alla gestione dello shopping online.