我在父TransactionScope
内有一个孩子TransactionSope
。在单一父TransactionScope
下多次创建,执行和提交子TransactionScope
。
父TransactionScope在等待第二组insert语句逐个完成执行时,将Insert
单个记录处理到数据库中。
完成第一个事务后,在第一次插入子事务时出现问题。经过自昨天以来的大量研究,我现在想出第二个插入运行的过程是第一个插入过程的阻塞。
我通过在程序运行时在sql server中运行SP_WHO2
来发现这一点。
同时,插入过程中涉及的两个表之间存在一对多的关系。第一个插入在父表上执行它的操作,而第二个插入在子表上。
每当我删除两个表之间的关系约束时,事务就会通过,但是当约束打开时不会。
我的问题是如何取消阻止第一个插入阻止的第二个进程?
答案 0 :(得分:1)
如果每个TransactionScope使用不同的连接,那么这是预期的并且是设计的。
现在,我不是c#的专家,但......