【发布时间】:2011-08-10 00:41:22
【问题描述】:
有了这个简单的代码,当我运行它时,我得到“无法删除数据库“test_db”,因为它当前正在使用中”(CleanUp 方法)。
[TestFixture]
public class ClientRepositoryTest
{
private const string CONNECTION_STRING = "Data Source=.;Initial Catalog=test_db;Trusted_Connection=True";
private DataContext _dataCntx;
[SetUp]
public void Init()
{
Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
_dataCntx = new DataContext(CONNECTION_STRING);
_dataCntx.Database.Initialize(true);
}
[TearDown]
public void CleanUp()
{
_dataCntx.Dispose();
Database.Delete(CONNECTION_STRING);
}
}
DataContext 有一个这样的属性
public DbSet<Client> Clients { get; set; }
如何强制我的代码删除数据库? 谢谢
【问题讨论】:
-
CTP5 已死。当前版本是 EF 4.1。
标签: database unit-testing entity-framework entity-framework-4.1 database-connection