1

我正在尝试将 SQL Server CE 4.0 设置为我的测试数据库,以便运行集成测试,如本文所述:http: //lostechies.com/erichexter/2013/01/06/using-sql-compact-for -集成测试与实体框架/

这些是我的解决方案中的所有项目:

  • 单元测试
  • 网站
  • 数据访问层

我在 UnitTests 项目的 app.config 文件中添加了 SQL Compact CE 4.0 引用和 connectionString,然后尝试运行 update-database 命令:

更新数据库 -ProjectName DataAccessLayer -StartupProjectName UnitTests -Verbose

这适用于大多数迁移,但它没有完成,然后我得到这个错误:

SQL Server Compact 不支持直接重命名列。要重命名 SQL Server Compact 中的列,您需要重新创建它。

有没有一种方法可以关闭迁移并仅为单元测试项目重新创建整个数据库?

4

1 回答 1

1

找到了。只需在单元测试项目上设置数据库初始化程序:

System.Data.Entity.Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());

我从单元测试项目的 FixtureSetup 方法中调用它。

于 2013-07-13T13:50:34.083 回答