C# 嵌套TransactionScope异常
下面的代码引发以下异常。我做错了什么 错误堆栈:System.Transactions.TransactionBortedException:事务已中止。-->System.Data.SqlClient.SqlException:无法执行事务操作,因为有挂起的请求正在处理此事务C# 嵌套TransactionScope异常,c#,nested,transactionscope,C#,Nested,Transactionscope,下面的代码引发以下异常。我做错了什么 错误堆栈:System.Transactions.TransactionBortedException:事务已中止。-->System.Data.SqlClient.SqlException:无法执行事务操作,因为有挂起的请求正在处理此事务 public class NestedTransaction { public void SomeTransaction() { using (var context = new Some
public class NestedTransaction
{
public void SomeTransaction()
{
using (var context = new SomeDBContext())
{
using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.Required,
new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }))
{
context.Connection.Open();
List<SomeEntities> entities = GetEntitiesFromDatabase();
entities.ForEach(entity =>
{
SaveEntity((EntityConnection)context.Connection, entity);
});
context.SaveChanges();
context.Connection.Close();
transaction.Complete();
}
}
}
private static void SaveEntity(EntityConnection connection,SomeEntity entity)
{
foreach (SomeEntity childEntity in entity.ChildEntities)
{
SaveEntity(connection, childEntity)
}
}
}
公共类嵌套事务
{
公共事务()
{
使用(var context=new SomeDBContext())
{
使用(TransactionScope transaction=new TransactionScope(TransactionScopeOption.Required),
新的TransactionOptions{IsolationLevel=IsolationLevel.ReadCommitted})
{
context.Connection.Open();
List entities=GetEntitiesFromDatabase();
实体。ForEach(实体=>
{
SaveEntity((EntityConnection)context.Connection,entity);
});
SaveChanges();
context.Connection.Close();
transaction.Complete();
}
}
}
私有静态void SaveEntity(EntityConnection连接,SomeEntity)
{
foreach(实体中的SomeEntity-childEntity.ChildEntities)
{
SaveEntity(连接、子实体)
}
}
}
提前谢谢
Niju这是哪一行的异常?请尝试将事务结束语句移动到using块中。看起来它们已经超出了范围。谢谢tsells,这只是示例代码中的一个输入错误。原始代码在using块中有结束语句。