Ari*_*nit 14 c# asp.net-mvc entity-framework ef-code-first
我正在使用Entity Framework开发一个ASP.NET MVC项目,其代码首先来自数据库.我得到了数据库中每个表的模型.我在模型中进行了一些更改,启用了迁移,当我初始化迁移时出现错误:
数据库中已经存在一个名为"TableName"的对象."
我试过update-database -force
但没有帮助.初始迁移会创建已存在的表!
如何进行初始迁移应用模型上的更改而不是从头开始创建表?
在这种情况下,在数据库和模型之间同步更改的最佳做法是什么?
Amr*_*laa 27
试着跑
Add-Migration InitialCreate –IgnoreChanges
Run Code Online (Sandbox Code Playgroud)
包管理器控制台中的命令.这将创建一个空迁移,将当前模型作为快照.然后运行
Update-Database
Run Code Online (Sandbox Code Playgroud)
包管理器控制台中的命令.这将将InitialCreate迁移应用于数据库.由于实际迁移不包含任何更改,因此只需向__MigrationsHistory表添加一行,指示已应用此迁移.
看到这个
然后更改模型并添加迁移.
另一种方法是简单地在up和down方法上注释所有代码
对我来说最好和有效的想法是注释初始迁移文件的 UP 和 Down 函数中的所有代码,然后触发
dotnet ef database update
它应该可以正常工作,确保在注释掉初始迁移之前更新迁移
归档时间: |
|
查看次数: |
20203 次 |
最近记录: |