6

我正在使用 Entity Framework 5.0 RC 和 LocalDB 数据库,该数据库预配置了 VS 2012 RC,用于代码优先数据库的一些原型设计和测试。

在更改了我的代码优先数据库并运行“更新数据库”的几个周期之后,我做了一个巨大的破坏性更改,并且自动迁移失败了。我不关心解决这个冲突,因为这只是原型设计,所以丢失数据很好。

如何重置或删除数据库?重置还必须重置迁移表,这似乎在 Visual Studio 的服务器资源管理器中隐藏。

4

2 回答 2

8

在 Visual Studio 中删除整个数据库

  1. 打开 SQL Server 对象资源管理器
  2. 找到您正在使用的数据库右键单击并选择删除
  3. 选中两个复选框(删除备份和还原历史记录,以及关闭现有连接),然后单击确定
  4. 再次运行程序,它应该重新创建数据库
于 2013-12-10T02:09:09.847 回答
1

到目前为止,这是我找到的最好的方法。

  1. 使 __MigrationHistory 成为非系统表。
  2. 执行 SQL 脚本以删除所有表。

要更改 __MigrationHistory 表,请参阅本文以处理现有数据库和使用代码优先创建的新数据库。

SQL脚本如下:

EXEC sp_MSforeachtable @command1 = "DROP TABLE ?";

我正在使用Database .NET v4 Free来运行这个 SQL 脚本,因为我的 Visual Studio 11 RC 副本由于某种原因不允许我在 LocalDB 上运行查询。此外,由于某些外键,我需要运行脚本两次以删除所有表。我没有费心解决这个问题,因为它似乎工作得很好。

于 2012-07-04T11:07:45.063 回答