我使用 LINQ to SQL 类定义查询,然后调用 ToList() 方法来执行该查询。 ToList() 调用包装在“using TransactionScope” block 中以实现“NOLOCK”提示。该查询是只读的,因此我不确定在这种情况下是否需要调用 TransactionScope.Complete() 。这是我遵循的示例,它不会进行此调用: Getting LINQ to SQL and Entities to use NOLOCK
最佳答案
我想不会。 C# 中的 Complete() 与 SQL 中调用 Commit 相同,但由于这是一条 select 语句,因此无需提交任何内容。由 TransactionScope 产生的任何其他剩余结构将在 using { } block 的末尾被处理,因此我认为在您的情况下 Complete() 是不必要的。
关于sql - LINQ to SQL - 对 SELECT 语句使用 TransactionScope - 是否需要调用 Complete()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16199358/