【发布时间】:2012-07-03 16:37:03
【问题描述】:
我将 Entity Framework 5.0 RC 与预配置了 VS 2012 RC 的 LocalDB 数据库一起使用,用于代码优先数据库的一些原型设计和测试。
在更改我的代码优先数据库并运行“更新数据库”几个周期后,我进行了巨大的破坏性更改,自动迁移失败了。我不关心解决这个冲突,因为这只是原型设计,所以丢失数据很好。
如何重置或删除数据库? 重置还必须重置迁移表,这似乎在 Visual Studio 的服务器资源管理器中隐藏。
【问题讨论】:
-
我发现了一些关于如何使 __MigrationHistory 表成为非系统表的文章,这反过来又允许我从服务器资源管理器中删除所有表和迁移历史记录。尽管如此,这并不是一种非常快速的重置方式,所以我对这里的想法持开放态度。我遇到的另一点是不使用我拥有的 AutomaticMigration。启用后,退出迁移错误会很痛苦,因为没有代码可以查看发生了什么。
-
你可以通过设置初始化器
Database.SetInitializer(new AlwaysRecreateDatabase<DataContext>());重新创建数据库 -
谢谢,是的,我知道这一点,我认为我已经成功地在控制台应用程序中运行了该代码,只是为了清除所有内容。在需要重置数据库时,仍在寻找对团队中的每个人来说更容易做的事情,例如要执行的 SQL 脚本。
标签: c# entity-framework ef-code-first reset localdb