由于数据库中存在对象,EF Core 的更新数据库失败
在使用 Entity Framework Core 的 ASP.Net Core 中,尝试更新数据库可能会失败并出现错误,指示数据库中已存在同名的对象。如果在使用命令行更新数据库后手动更新数据库,则会出现此错误。
通常建议的解决方案是使用“Add-migration 'Reset' -IgnoreChanges”命令,如 John 所概述萨勒夫斯基.但是,由于 EF Core 中缺少 -IgnoreChanges 参数,此方法可能会失败。
解决方案:
要解决此问题,请按照以下步骤操作:
注释掉()方法:
应用迁移:
运行以下命令:
Add-Migration Initialization Update-Database
此过程将创建当前数据库状态。未来的迁移将仅包含在此基线之后所做的更改。
添加更改回:
通过注释掉 Up() 方法,EF Core 保留当前数据库架构并避免与现有对象发生冲突。一旦应用基线迁移,后续迁移就可以安全地引入新的更改,确保无缝更新过程。
以上是为什么 EF Core 的'更新数据库”由于现有数据库对象而失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!