【问题标题】:Run the migrations with specific model updates使用特定模型更新运行迁移
【发布时间】:2018-09-20 11:45:53
【问题描述】:
我正在使用 Visual Studio 2017 处理一个 ASP.Net MVC 项目。我想在我的一个模型中添加一个属性在我迁移并启动应用程序后我得到错误消息“已经有一个对象在数据库”。正如我在互联网上发现的那样,这是由于自动迁移而发生的,如何更改我的迁移命令以避免这种情况。
dotnet ef migrations add GeoLocation -c ApplicationDb -o Data/Migrations/IdentityServer/ApplicationDb
【问题讨论】:
标签:
asp.net
asp.net-mvc
entity-framework-6
entity-framework-migrations
【解决方案1】:
我确实使用 EF 迁移,但我仍然不是粉丝。我更喜欢分别在 SQL Server 和 C# 中进行开发。您可以通过多种方式解决问题
打开 Nu-Get 包管理器控制台并为您的项目启用迁移
Enable-Migrations -ContextTypeName YourProject.Models.ApplicationDbContext -Force
您可以按如下方式迁移迁移文件夹中的任何内容(我刚刚展示了初始文件夹),无论是否带有忽略更改标志
add-migration Initial
Add-Migration Initial -IgnoreChanges
最后,强制完成更改
Update-Database -Force
我总是复制“配置”文件的内容,因为当我不想要时,它会被覆盖。如果您在迁移时不小心,它还可以将重复数据添加到数据库中 - 因此您需要围绕它编写代码。
如果我真的卡住了,我只需删除所有迁移,截断迁移表,然后再次执行初始迁移。