2

我正在使用 LINQ to SQL 类来定义查询,然后调用执行查询的 ToList() 方法。ToList() 调用包含在“使用 TransactionScope”块中以实现“NOLOCK”提示。该查询是只读的,因此我不确定在这种情况下是否需要调用 TransactionScope.Complete()。这是我遵循的示例,它没有进行此调用:Getting LINQ to SQL and Entities to use NOLOCK

4

1 回答 1

2

我想没有。C# 中的 Complete() 与 SQL 中调用 Commit 相同,但由于这是一条选择语句,因此无需提交任何内容。TransactionScope 产生的任何其他剩余构造将在 using { } 块的末尾处理,因此我认为 Complete() 在您的情况下是不必要的。

于 2013-04-24T18:27:27.177 回答