【发布时间】:2013-03-18 22:00:29
【问题描述】:
我们使用 SQL Server CE 进行集成测试。在每次测试之前的那一刻,我们从所有列中删除所有数据,然后重新播种测试数据。当结构发生变化时,我们会删除数据库文件。
为了删除数据,我们需要以正确的顺序遍历每个表并发出Delete from table blah,这很容易出错。很多时候,我只是在添加新实体时忘记添加删除语句。因此,如果我们可以自动从表中删除数据,那就太好了。
我看到了 Jimmy Bogard 对deletion of data in the correct order 的好意。我已经为实体框架实现了这一点,并且可以在成熟的 SQL Server 中使用。但是当我尝试在 SQL CE 中使用它进行测试时,我得到了异常,说
System.Data.SqlServerCe.SqlCeException : The specified table does not exist. [ @@sys.tables ]
SQL CE 没有包含所需信息的支持系统表。
是否有适用于 SQL CE 版本的脚本,可以删除所有表中的所有数据?
【问题讨论】:
标签: entity-framework sql-server-ce integration-testing