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