LINQ to SQL - 使用TransactionScope for SELECT语句 - 是否需要调用Complete()?

时间:2013-04-24 18:18:08

标签: sql linq transactionscope

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

1 个答案:

答案 0 :(得分:2)

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