我正在为一些集成测试动态创建和删除数据库。我在 ADO.NET 级别进行所有数据库管理。对于我使用实体框架的测试,因为实体是我正在测试的一部分。问题是,在我这样做之后:
using (ProjectEntities db = new ProjectEntities(cs)) {
}
我不能再删除数据库了。它说它正在使用中。如何释放它以便可以丢弃它?
我实际上在 ADO.NET 级别遇到了同样的问题,我所做的是:
new SqlCommand("USE [master]", DatabaseConnection).ExecuteNonQuery();
但我不确定如何对实体框架连接执行具有相同效果的操作。我尝试手动处理 db 对象(尽管 using 子句应该保证这一点),并且我还尝试手动关闭 db.Connection。都没有帮助。如果我可以在没有实体框架连接的情况下直接运行 SQL,我相信我能够做到。或者也许还有其他方法?