gpt4 book ai didi

linq-to-sql - NOLOCK 与 Linq to SQL 不设置事务隔离级别

转载 作者:行者123 更新时间:2023-12-04 17:13:36 26 4
gpt4 key购买 nike

有没有办法在不设置事务隔离级别的情况下在 LIN2SQL 单个查询上使用 NOLOCK?我需要将此作为更大(分布式)事务的查询部分来执行。

例如:

using (var txn = new TransactionScope())
{

// query1
// query2
// query3
}

我希望查询 1 和 3 的更改是事务性的,但我需要在查询 2 上使用 NOLOCK,它恰好位于与其他查询不同的数据库上。如果我将 query2 的事务范围重新设置为 ReadUncommitted,则会出现错误:

为 TransactionScope 指定的事务具有与为范围请求的值不同的 IsolationLevel。
参数名称:transactionOptions.IsolationLevel

最佳答案

它对你有用吗?

 using (var txn = new TransactionScope())
{

// query1
using (TransactionScope txn2 =
new TransactionScope(TransactionScopeOption.RequiresNew),
new TransactionOptions() {//isolation level,timeout, etc}
)
{
// query2
}
// query3
}

关于linq-to-sql - NOLOCK 与 Linq to SQL 不设置事务隔离级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7530212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com