在我的 MVC Web 应用程序中,我添加了一个名为 的模型。能力 到现有模型,并做了add-migration
和 update-database
,它工作得很好,然后我根据那个模型创建了一个 Controller ,就可以了。
但在那之后,我意识到出了点问题,所以我删除了 Controller 及其与模型的 View 。我还从服务器资源管理器中删除了该表,并创建了一个名为 的新模型。能力标签 ,然后运行 add-migration
,它工作正常,但是当我运行 update-database
,我在 PM> 窗口中收到此错误:
"Cannot find the object "dbo.Competencies" because it does not exist or you do not have permissions."
该表已被删除,我不知道为什么它仍然问我。有人知道如何使它工作吗?多谢。
最佳答案
当您输入Enable-Migrations
命令,一个 Migrations
文件夹在项目中创建。每当你 Add-Migration
,在该文件夹中创建一个新的迁移文件。在文件中,定义了两个方法:
Up()
- 定义当我们使用 Update-Database
升级数据库时要采取的行动Down()
- 定义当我们使用 Update-Database
降级数据库时要执行的操作由于您已删除能力模型,最新的迁移将代码添加到
Up()
方法,它会破坏 Competencies 表上的索引并删除该表。正如您手动完成的那样,只需删除负责它的代码和Update-Database
.它应该毫无问题地升级它。
关于entity-framework-migrations - "Cannot find the object "dbo.xxxx "because it does not exist or you do not have permissions.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006419/