私はEF5コード初心者です。私はEF5コード初心者です。EF5コードファースト - マイグレーションによるカラムタイプの変更
私は当初
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列を変更したい:私は
AlterColumn("dbo.People", "Location", c => c.Int(nullable: false));
が、私は更新データベースを実行すると:私は私が得る新しい移行を追加すると
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
}
をエラーが発生する
Conversion failed when converting the nvarchar value 'London' to data type int.
alterステートメントを実行する前にテーブルを切り捨てる方法はありますか?
私はデータベースを開いて手動で行うことができますが、よりスマートな方法はありますか?
私は変換が、このページの回答の一部を以下の前に、エンティティフレームワークによって自動的に処理されている場合、彼らは見る同様の位置にある開発者のためのお勧め:
は、まず
Sql()
コマンドと、その後AlterColumn()
を実行してみてください。たとえば、文字列と小数点の間の変換を処理していることがわかりました。私の助けを借りずに - Add Migrationが生成した移行はうまく動作します。明らかに、ローカル/テストのデータベースで試してから、実稼働環境に適用してください! – pipedreambomb