Código EF5 primero: cambiar un tipo de columna con migraciones
Soy nuevo en EF5 Code First y estoy probando un concepto antes de embarcarme en un proyecto en el trabajo.
Inicialmente he creado un modelo que se parecía a algo como
public class Person {
public int Id { get; set; }
public string FirstName { get; set;}
public string Surname {get;set;}
public string Location {get;set;}
}
Y agregué algunos registros usando una pequeña aplicación MVC que pegué en la parte superior.
Ahora quiero cambiar la columna Ubicación a una enumeración, algo como:
public class Person {
public int Id { get; set; }
public string FirstName { get; set;}
public string Surname {get;set;}
public Locations Location {get;set;}
}
public enum Locations {
London = 1,
Edinburgh = 2,
Cardiff = 3
}
Cuando agrego la nueva migración obtengo:
AlterColumn("dbo.People", "Location", c => c.Int(nullable: false));
pero cuando ejecuto la base de datos de actualización recibo un error
Conversion failed when converting the nvarchar value 'London' to data type int.
¿Hay alguna forma en la migración para truncar la tabla antes de que se ejecute la sentencia alter?
Sé que puedo abrir la base de datos y hacerlo manualmente, pero ¿hay alguna forma más inteligente?