前言:在我的数据库表中,我有两个字段:(string)(FK)UserPayoffData_UserName
和(int)UserPayoffDataUserName
。我犯了一个错误,实际上,我希望它只是单个属性,(字符串)(FK)UserPayoffData_UserName
,但是调用(字符串)(FK)UserPayoffDataUserName
,我的第二个字段((int){{1将会消失。
现在,在我的模型中,我有这个无效的属性:
UserPayoffDataUserName
所以我把它改成了一个字符串(现在,如果我放弃我的数据库并重新创建它,它将是一个外键):
public int UserPayoffDataUserName { get; set; }
现在我做了public string UserPayoffDataUserName { get; set; }
,并且我期望的是,迁移将以某种方式重命名为具有正确命名的外键。但它没有做任何事情。我有什么可以做的吗?
答案 0 :(得分:0)
如果我清楚地理解这一点,您需要删除mymigration
或您从项目中获得的任何其他旧迁移。它们应该在您的Migration folder
中。如果您需要迁移,则必须创建新迁移。然后根据需要更改您的类,例如属性命名和所有属性映射。然后构建解决方案,并运行Update-Database -Force
。
请记住,由于您正在使用EF Code First
,因此您可以从Server Explorer
和App_Data
文件夹中删除您的数据库(不要错过这个,从服务器资源管理器中删除如果你不在这里做什么就没有任何意义)并且没什么大不了的,因为它可以在`Update-Database -Verbose
答案 1 :(得分:0)
通过执行Add-Migration mymigration
,您只需创建将在执行迁移时使用的脚手架代码文件。
因此您的数据库不会自动更改。你必须发起它!
使用update-database -TargetMigration mymigration
,这将执行您所做的所有更改并保存到mymigration文件