如何在TransactionScope中取消阻止父进程(Insert Stmt)阻止的进程(Insert Stmt)

时间:2010-01-10 08:53:38

标签: c# sql-server-2005 transactions transactionscope

我在父TransactionScope内有一个孩子TransactionSope。在单一父TransactionScope下多次创建,执行和提交子TransactionScope

父TransactionScope在等待第二组insert语句逐个完成执行时,将Insert单个记录处理到数据库中。

完成第一个事务后,在第一次插入子事务时出现问题。经过自昨天以来的大量研究,我现在想出第二个插入运行的过程是第一个插入过程的阻塞。

我通过在程序运行时在sql server中运行SP_WHO2来发现这一点。

同时,插入过程中涉及的两个表之间存在一对多的关系。第一个插入在父表上执行它的操作,而第二个插入在子表上。

每当我删除两个表之间的关系约束时,事务就会通过,但是当约束打开时不会

我的问题是如何取消阻止第一个插入阻止的第二个进程?

1 个答案:

答案 0 :(得分:1)

如果每个TransactionScope使用不同的连接,那么这是预期的并且是设计的。

现在,我不是c#的专家,但......