0

前言:在我的数据库表中,我有两个字段: (string)(FK)UserPayoffData_UserName和 (int) UserPayoffDataUserName。我犯了一个错误,实际上,我希望它只是单个属性 (string) (FK)UserPayoffData_UserName,但称为 (string) (FK)UserPayoffDataUserName,而我的第二个字段 ((int) UserPayoffDataUserName) 将消失。

现在,在我的模型中,我有这个无效的属性:

public int UserPayoffDataUserName { get; set; }

所以我把它改成了一个字符串(现在如果我删除我的数据库并重新创建它,它将是一个外键):

public string UserPayoffDataUserName { get; set; }

现在我做到了Add-migration mymigration,而且我所期望的是,迁移会以某种方式在外键之上重命名为正确命名的一个。但它什么也没做。我能做些什么吗?

4

2 回答 2

0

如果我清楚地理解这一点,您需要mymigration从您的项目中删除或任何其他旧迁移。它们应该在您的Migration folder. 如果您需要迁移,您将不得不创建新的迁移。然后根据需要更改您的类,例如属性命名和所有属性映射。然后构建您的解决方案,然后运行Update-Database -Force​​.

请记住,由于您正在使用EF Code First,您可以从您Server Explorer和您的App_Data文件夹中删除您的数据库(不要错过这一点,如果您不在这里执行,从服务器资源管理器中删除就没有任何意义),这没什么大不了的,因为它可以瞬间被创造出来`Update-Database -Verbose

于 2013-03-15T07:25:23.700 回答
0

通过这样做,Add-Migration mymigration您只是创建了将在执行迁移时使用的脚手架代码文件。

所以你的数据库不会自动改变。你必须发起它!

通过使用update-database -TargetMigration mymigration,这将执行您所做的所有更改并保存到 mymigration 文件中

于 2018-02-20T10:23:19.163 回答