Impostare la lunghezza massima di una proprietà di tipo String utilizzando il codice con Entity Framework Code First

Stefano Mostarda

di , in LINQ, Entity Framework,

Quando Code-First mappa le proprietà di tipo string verso le colonne varchar del database, per default assume che le colonne siano varchar(max). Se le nostre colonne hanno una lunghezza minore, corriamo il rischio di avere delle eccezioni quando scriviamo i dati sul database e quindi è bene controllare i dati prima di inviarli al database.
Se sappiamo che una colonna di tipo varchar è lunga 50 caratteri, possiamo impostare la lunghezza della proprietà attraverso il codice sfruttando il metodo HasMaxLength.

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
  modelBuilder.Entity<Person>().Property(c => c.Name).HasMaxLength(50);
}