Att*_*lah 10 .net c# entity-framework
我有一个测试.发生的事情是,无论何时首先执行test1,test2都会失败并显示以下消息:
"System.Data.EntityException:System.Data.EntityException:基础提供程序在打开时失败.无法打开登录请求的数据库"DBEntities".登录失败."
并且每当首先执行test2时,test1将失败并显示相同的消息.
过去3天我一直在这里.
[TestClass]
class MyTestClass
{
DBEntities db;
[TestInitialize]
public void Initializer()
{
db = new DBEntities();
}
[TestMethod]
public void test1()
{
db.Books.Add(new Book{ ...});
db.SaveChanges();
}
[TestMethod]
public void test2()
{
db.Books.Add(new Book{ ...});
db.SaveChanges();
}
[TestCleanup]
public void Clean()
{
db.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
这是DBEntities类的摘录:
public class DBEntities : DbContext
{
public DbSet<Books> TheBooks{get;set;}
...
}
Run Code Online (Sandbox Code Playgroud)
运行探查器后,我注意到这条消息:
"用户登录失败.原因:未能打开明确指定的数据库."
经过大量的lockAcquired和lockReleased陈述.
Jus*_*ton 11
问题可能是连接池?即使EF对象被处置,SQL提供程序是否会尝试保留测试之间的连接?在这种情况下,同一个用户是否存在与同一个DB的多个连接的问题?
尝试在清理中明确关闭连接:
db.Database.Connection.Close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24951 次 |
| 最近记录: |