Linq to SQL原子集操作

时间:2011-09-22 10:56:14

标签: linq-to-sql atomic

我想确保var a在检索它和在var b上执行更新之间没有变化。

var a = from item in....

if (a > 100) {
    var b = from item in...
    b.something = 100;
    db.SubmitChanges()
}

我该怎么做呢?我只是将事物包装在TransactionScope中吗?

1 个答案:

答案 0 :(得分:1)

Linq 2 sql是为开箱即用的乐观并发而设计的(你想要的是悲观) http://msdn.microsoft.com/en-us/library/bb399373.aspx

由于锁定可能存在死锁等,我认为你最好坚持乐观并处理冲突解决方案。否则,请查看此处:LINQ to SQL and Concurrency Issues