Posted on

ASP.NET MVC. first Model – Code first

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.