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

标签 sql linq transactionscope

我使用 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/

相关文章:

c# - 为什么我的更新查询在 c# 和 sql server 中不起作用?

sql - 无需并行提示和批量收集即可删除数百万条记录

c# - 如何让 LIKE 子句在 ADO.NET 和 SQL Server 中工作

sharepoint - SharePoint 2007 : How can I perform a series of operations within a transaction?

c# - 嵌套事务范围,必需 -> 抑制 -> 必需

c# - SQL 服务器 : parameter not evaluating in AND part of clause

.net - 执行 [adsisearcher] 并将其存储在哈希表或字典集合列表中的最快方法

c# - 正确使用表中列值中的列表?

c# - Left Outer Join,这两种方法有什么区别?

c# - ASP.NET 中 TransactionScope 的问题