いくつかの統合テストのために、データベースをその場で作成および削除しています。私はすべてのデータベース管理をADO.NETレベルで行っています。エンティティはテスト対象の一部であるため、テストではEntityFrameworkを使用しています。問題は、私がこれを行った後、次のことです。
using (ProjectEntities db = new ProjectEntities(cs)) {
}
データベースを削除できなくなりました。使用中とのことです。ドロップできるようにリリースするにはどうすればよいですか?
私は実際にADO.NETレベルで同じ問題を抱えていましたが、私がしたことは次のとおりです。
new SqlCommand("USE [master]", DatabaseConnection).ExecuteNonQuery();
しかし、EntityFramework接続に対して同じ効果を持つ何かを実行する方法がわかりません。私はdbオブジェクトを手動で破棄しようとしましたが(using句はそれを保証するはずですが)、db.Connectionを手動で閉じようとしました。どちらも役に立たなかった。Entity Framework接続を使用せずにSQLを直接実行できれば、実行できると思います。または多分別の方法がありますか?