C# TransactionScope可读取单个记录

C# TransactionScope可读取单个记录,c#,sql-server,C#,Sql Server,我需要使用存储过程作为独立调用从SQL Server读取一行。假设它有一个BL.GetRecord(intid) 我需要从另一个方法内部调用此方法。我需要一个事务作用域来读取它吗 以下是可能的GetRecord(int-id)body: using(var ts = new TransactionScope()) { return prov.GetRecord(id); } 或 或者只是 return prov.GetRecord(id); 方法2。将有自己的TransactionS

我需要使用存储过程作为独立调用从SQL Server读取一行。假设它有一个
BL.GetRecord(intid)

我需要从另一个方法内部调用此方法。我需要一个事务作用域来读取它吗

以下是可能的
GetRecord(int-id)
body:

using(var ts = new TransactionScope())
{
    return prov.GetRecord(id);
}

或者只是

return prov.GetRecord(id);
方法2。将有自己的
TransactionScope
Complete()

目的是读取“干净”记录

我是否需要在阅读时完成((it=COMMIT?),因为我们没有保存任何内容

所有这些都在一张桌子上操作

我需要像这样的东西,1个用户更新一条记录(它也会先读取)。
我认为如果第二个用户要在几毫秒内更新记录,最好是通过等待来读取更新的值,而不是读取当前的值。

您可以在更新记录时使用事务,这样当您收到同时读取和更新记录的请求时,更新事务将保持对行的锁定,并在事务完成后释放,下一个用户将获得更新的记录


阅读时无需使用事务作用域。

不用太多,但谢谢。也许我也需要在select查询中添加一些锁。
return prov.GetRecord(id);