我想确保var a在检索它和在var b上执行更新之间没有变化。
var a = from item in....
if (a > 100) {
var b = from item in...
b.something = 100;
db.SubmitChanges()
}
我该怎么做呢?我只是将事物包装在TransactionScope中吗?
答案 0 :(得分:1)
Linq 2 sql是为开箱即用的乐观并发而设计的(你想要的是悲观) http://msdn.microsoft.com/en-us/library/bb399373.aspx
由于锁定可能存在死锁等,我认为你最好坚持乐观并处理冲突解决方案。否则,请查看此处:LINQ to SQL and Concurrency Issues