使ADO.NET(和EntityFramework)发布数据库

pup*_*eno 2 c# connection entity-framework drop-database

我正在创建和删除数据库以进行一些集成测试.我正在ADO.NET级别进行所有数据库管理.对于我正在使用实体框架的测试,因为实体是我正在测试的一部分.问题是我这样做之后:

using (ProjectEntities db = new ProjectEntities(cs)) {
}
Run Code Online (Sandbox Code Playgroud)

我不能再删除数据库了.它说它正在使用中.如何释放它以便它可以被删除?

我实际上在ADO.NET级别遇到了同样的问题,我做的是:

new SqlCommand("USE [master]", DatabaseConnection).ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

但我不确定如何对Entity Framework连接执行具有相同效果的操作.我试图手动处理db对象(虽然using子句应该保证),我也尝试手动关闭db.Connection.没有帮助.如果我可以直接运行SQL没有实体框架连接,我相信我能够做到这一点.或许还有另一种方式?

Abh*_*tel 5

您可能需要显式关闭所有连接,我相信连接正在进行池化,并且它是仍然保持与DB的活动连接的池连接之一.尝试使用SqlConnection.ClearAllPools

我在实体框架对象上下文中写了一个类似的问题- AWAITING COMMAND.