使用企业库时的事务作用域和死锁

| 我们正在使用企业库进行数据访问。 我们的方法之一是对同一张表进行删除,然后进行插入。这会造成僵局。 如果将它们放在事务范围内,则不再发生死锁。 凭直觉,感觉应该相反。谁能解释为什么它如此工作?     
已邀请:
事务范围与
TransactionOptions
IsolationLevel = IsolationLevel.ReadUncommitted
的组合相当于T-SQL中的WITH(NOLOCK),因此,如果未锁定表,则不会发生死锁...
using (var scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions(){ IsolationLevel = IsolationLevel.ReadUncommitted }))
{
}
    

要回复问题请先登录注册