Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在TransactionScope中取消阻止父进程(插入Stmt)阻止的进程(插入Stmt)_C#_Sql Server 2005_Transactions_Transactionscope - Fatal编程技术网

C# 如何在TransactionScope中取消阻止父进程(插入Stmt)阻止的进程(插入Stmt)

C# 如何在TransactionScope中取消阻止父进程(插入Stmt)阻止的进程(插入Stmt),c#,sql-server-2005,transactions,transactionscope,C#,Sql Server 2005,Transactions,Transactionscope,我在父TransactionScope中有一个子TransactionScope。子TransactionScope在单个父TransactionScope下创建、执行和提交多次 父TransactionScope负责将一条记录插入数据库,同时等待第二组Insert语句逐个完成执行 完成第一个事务后,在第一次插入子事务时出现问题。从昨天开始,我做了大量的研究,现在我想指出,第二个insert运行的进程被第一个insert的进程阻塞了 我通过在sql server中运行程序运行时运行SP_WHO2

我在父
TransactionScope
中有一个子
TransactionScope
。子
TransactionScope
在单个父
TransactionScope
下创建、执行和提交多次

父TransactionScope负责将一条记录插入数据库,同时等待第二组Insert语句逐个完成执行

完成第一个事务后,在第一次插入子事务时出现问题。从昨天开始,我做了大量的研究,现在我想指出,第二个insert运行的进程被第一个insert的进程阻塞了

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

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

每当我删除两个表之间的关系约束时,事务都会通过,但当约束处于启用状态时不会通过


我的问题是如何解除第一次插入阻止的第二个进程?

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

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

  • 你在用什么
  • 否则,你是(谷歌)

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

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

  • 你在用什么
  • 否则,你是(谷歌)