In questo articolo cominceremo a creare qualcosa di nuovo nel nostro progetto . Utilizzeremo l’approccio “Code First”, cioè prima scriveremo il codice. Sembra banale dirlo, ma Visual Studio consente, per esempio, anche l’approccio “Database First”.
Andate nella directory Model e create una nuova classe per esempio Student.cs.
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MySite.Models { public class Student { } }
Aggiungete questo namespace
using System.ComponentModel.DataAnnotations.Schema;
Il nostro modello / classe è la rappresentazione, attraverso le sue proprietà, di una tabella che andremo a costruire su un database. Prima di tutto diciamo alla classe come si chiama la tabella che vogliamo.
[Table("STUDENTS")] public class Student { }
Poi creiamo le proprietà – campi della tabella. Aggiungete questo namespace :
using System.ComponentModel.DataAnnotations;
la nostra tabella è composta da 3 campi
[Table("STUDENTS")] public class Student { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int ID { get; set; } [Required] [StringLength(200)] [Display(Name = "Name")] public string NAME { get; set; } [StringLength(300)] [Display(Name = "Surname")] public string SURNAME { get; set; } }
Le DataAnnotation sopra le proprietà definiscono le caratteristiche dei campi della tabella : ID sarà la chiave primaria (key), e SQLServer si occuperà di assegnare il numero (DatabaseGeneratedOption.Identity). NAME è un campo obbligatorio (Required) di lunghezza 200, la cui descrizione in visualizzazione sarà “Name”.etc.
Ora dobbiamo aggiungere al DBContext la presenza di questa tabella. Aprite la classe ApplicationDbContext e aggiungete come proprietà la nuova tabella :
public DbSet<Student> Students { get; set; }
Provate a lanciare l’applicazione ed ad effettuare un login per testare che tutto funzioni. Andate sul database e costruite le tabella rispettando i nomi.