私は EF5 Code First を初めて使用し、職場でプロジェクトに着手する前に概念実証をいじっています。
私は最初に次のようなモデルを作成しました
public class Person {
public int Id { get; set; }
public string FirstName { get; set;}
public string Surname {get;set;}
public string Location {get;set;}
}
そして、上部に貼り付けた小さな MVC アプリケーションを使用して、いくつかのレコードを追加しました。
ここで、Location 列を次のような列挙型に変更したいと思います。
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
}
新しい移行を追加すると、次のようになります。
AlterColumn("dbo.People", "Location", c => c.Int(nullable: false));
しかし、update-database を実行するとエラーが発生します
Conversion failed when converting the nvarchar value 'London' to data type int.
移行で、alter ステートメントを実行する前にテーブルを切り捨てる方法はありますか?
データベースを開いて手動で実行できることはわかっていますが、もっとスマートな方法はありますか?