在Entity Framework 4中删除数据库数据的最有效方法是什么?

3

为了进行集成测试,我需要清空数据库中的所有数据信息。我正在使用Entity Framework 4。

最有效的方法是什么?如果我不需要每次添加新类到模型时都指定表或类名,那就太好了。

谢谢!

2个回答

2
这可能不是最快的方法,但它是最简单的。它甚至会清空您的连接池:
using (var context = new DataContext())
{
    context.Database.Delete();
}

2

删除数据库数据最有效的方法是删除所有表并重新创建所有表。


实际上,最有效的方法是截断所有表,但需要特定的顺序。 - Mitch Wheat
截断可能会耗费大量时间,因为它涉及到级联操作。 - Sergey Vedernikov
那么,我应该使用 SQL 语句来删除数据库,然后重新创建它吗? - Rodrigo Juarez
如果您有用于创建数据库模式的 SQL 脚本,您可以在此脚本之前添加删除脚本。或者只需创建截断脚本,然后无需重新创建数据库。 - Sergey Vedernikov
我使用EF4上下文对象中的ExecuteStoreCommand脚本来解决它。 - Rodrigo Juarez
1
在一个使用EF4 Model First的项目中,我正在使用container.DeleteDatabase()和container.CreateDatabase(),效果很好 :) - Rodrigo Juarez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接