如果我有一个用户实体如图
我之前没有对用户名进行配置 就直接生成了表
现在我要对用户实体中的用户名进行配置
我执行了 Add-Migration命令后生成了如下文件
我执行 Update-Database 报的错误如下
请教一下各位 这个错误是什么回事
可能需要采用 EF5 Code First - Changing A Column Type With Migrations 中的方法进行迁移
AddColumn("dbo.People", "LocationTmp", c => c.Int(nullable: false));
Sql(@"
UPDATE dbp.People
SET LocationTmp =
CASE Location
WHEN 'London' THEN 1
WHEN 'Edinburgh' THEN 2
WHEN 'Cardiff' THEN 3
ELSE 0
END
");
DropColumn("dbo.People", "Location");
RenameColumn("dbo.People", "LocationTmp", "Location");
好的 我按照您提供的思路去试试
我按照您提供的方法还是报这个错误
I found a solution on stackoverflow and solved this problem successfully by those steps.
1.open the database and delete the migrations history table manually
2.run the migration command again
Thanks for your suggestion
@专注写bug24年: 既然可以不用考虑数据库中的已有数据,当前采用这种方法最简单
使用EF Code First ,最好是避免修改列的操作,很容易出问题,宁愿把列移除再新增
可是我这边是需要修改列的属性 很蛋疼 客户设计表 我们去实现他们的业务 但是客户设计的东西不是很完善 我们只能慢慢改