我们正在使用实体框架并在事务范围内运行单元测试。我们最初在标题中得到了错误。
我已经设法隔离了一些问题。
using (TransactionScope scope1 = new TransactionScope())
{
using (TransactionScope scope2 = new TransactionScope())
{
// Here there is no code
}
using (Entities se = new Entities())
{
EntityConnection entityConnection = (EntityConnection)se.Connection;
DbConnection storeConnection = entityConnection.StoreConnection;
storeConnection.Open(); // On this line the error occurs
// Some code that runs a stored procedure
}
}
我们目前得到的错误是“该操作对事务状态无效..”
如果我删除事务范围2,一切正常。
如果我将范围 2 标记为环境事务,它也可以正常工作。