2

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

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 ?我怎样才能删除它?存储在哪里?

最好的问候 普热梅斯瓦夫 Staniszewski

4

2 回答 2

9

这是一个答案。请恢复迁移文件夹及其迁移文件(恢复到您的项目)。然后按照我的步骤 http://pawel.sawicz.eu/entity-framework-reseting-migrations/

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

于 2013-02-22T14:51:10.893 回答
0

试试这些命令 Sqllocaldb.exe stop V11.0 Sqllocaldb.exe delete V11.0

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

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

一个更持久的解决方案可能是将以下代码添加到您的 Globel 文件中,并将其替换为您需要的代码。这方面的文章也可以在下面的链接中找到:

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

http://ilmatte.wordpress.com/2012/12/05/entity-framework-5-code-first-enabling-migrations-in-a-real-project/

于 2014-01-22T13:15:11.470 回答