Entity framework 为什么我能';无法将实体框架迁移到初始状态?

Entity framework 为什么我能';无法将实体框架迁移到初始状态?,entity-framework,entity-framework-5,entity-framework-migrations,Entity Framework,Entity Framework 5,Entity Framework Migrations,我已经从项目中删除了开发数据库和迁移文件夹。当使用“使用我的项目开发数据库”运行单元测试时,将重新创建该数据库。我不明白为什么运行更新数据库会让我 PM> Update-Database Specify the '-Verbose' flag to view the SQL statements being applied to the target database. Applying code-based migrations: [201302201840012_wieleDoWiel

我已经从项目中删除了开发数据库和迁移文件夹。当使用“使用我的项目开发数据库”运行单元测试时,将重新创建该数据库。我不明白为什么运行更新数据库会让我

PM> Update-Database
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Applying code-based migrations: [201302201840012_wieleDoWielu].
Applying code-based migration: 201302201840012_wieleDoWielu.
为什么迁移:201302201840012_wieleDoWielu被记住了?如何删除它?储存在哪里

致意
Przemysław Staniszewski

这里有一个答案。请恢复迁移文件夹及其迁移文件(恢复到您的项目)。然后按照我前面的步骤做

1) 更新数据库-Targetmigration:0-这是关键!首先
2) 清除表/迁移(不必删除整个文件夹)
3) 添加迁移初始化
4) 更新数据库

尝试以下命令 Sqllocaldb.exe停止V11.0 Sqllocaldb.exe删除V11.0

这将删除引用。在执行此操作之前,您可能必须注释掉一些更改,然后在执行迁移之前将更改重新恢复到模型中

我是新手,所以希望我能理解你的问题,因为这听起来和我最近遇到的问题一样

一个更持久的解决方案可能是将以下代码添加到Globel文件中,并用所需的代码替换。相关文章也可在以下链接中找到:

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<PersonContext>()); 
Database.SetInitializer(新的DropCreateDatabaseIfModelChanges());

可能是数据库中的u MigrationHistory表?检查
MigrationId
列。为什么要删除它?我用这种方法测试它1。删除迁移文件夹2。运行Enable Migrations-enableautomaticmmigrations-Force创建文件夹迁移3。删除数据库4。运行创建数据库5的单元测试。从[dbo].[uuuu MigrationHistory]6中删除。运行addmigration-IgnoreChanges并获取7。无法生成显式迁移,因为以下显式迁移处于挂起状态:[201302201810047_InitialCreate,201302201840012_wieleDoWielu]。在尝试生成新的显式迁移之前应用挂起的显式迁移。是否在添加迁移之前尝试“更新数据库”。在您的场景中不应该有此必要,但每次我出现此错误时,都会将其修复。即使是dosn中的步骤对我也不起作用。如果我有没有表的干净数据库,迁移表和迁移文件夹项目,仍然记得这两次迁移,我只是在您撰写此答案之前从您的文章中完成的(谷歌:)更新数据库后没有任何帮助-Targetmigration:0所有表都将使用_MigrationHistory alsodoes更新数据库-Targetmigration:0应删除数据库中的所有表?是。它应该删除所有表-Targetmigration:0。但是迁移(Migrations文件夹中的文件保持不变,所以这里您必须手动删除)嗨,我想问题是,如果每次我启动单元测试,这个测试都会使用包含迁移文件的编译库运行。所以,从并没有这些文件的项目更新从数据库中获取迁移信息。我真的不知道。第一次计算机在周一运行时,一切正常。