【发布时间】:2017-01-29 06:58:38
【问题描述】:
我有一个使用实体框架核心的 asp.net core mvc 网站。
我不知道它最初是如何发生的,但我无法克服错误: "数据库中已经有一个名为 AspNetRoles 的对象"
我最终删除了数据库,删除了所有迁移 .cs 文件并从头开始。
然后我试过了
add-migration MyInitialMigration
同样的错误
然后我再次删除了数据库,并尝试了直接
update-database
(不添加迁移)
还是一样的错误
我尝试将 appsettings 配置字符串更改为指向一个新的、不存在的数据库。
还是同样的错误!
以前在 MVC5/EF6 上我遇到过这个错误,并使用与此答案相同的方法解决了它: There is already an object named in the database
-Add-Migration Initial -IgnoreChanges
但是,EFCore 不支持 -IgnoreChanges
或者之前在 EF6 上,我通过添加迁移来解决它,然后删除 Up/Down 中的所有内容并运行空迁移。这在 EFCore 上不起作用
我该如何继续?我检查了迁移表,即使每次都创建了整个数据库,它们也总是空的。只是似乎没有将其记录在迁移表中
【问题讨论】:
-
解决这个问题的方法是应用命令drop-database。在删除迁移之后,您可以使用添加迁移和更新数据库重新开始。它一直对我有用
标签: asp.net-core asp.net-identity asp.net-core-mvc entity-framework-core