我有以下代码,它只在一个Web应用程序中运行。我想确保该值增加1并且由于脏读而我没有遇到问题。 我很好奇为什么这段代码有时会导致脏读?
_locker.EnterWriteLock(); // static ReaderWriterLockSlim _locker= new ReaderWriterLockSlim();
var task = _dbo.Tasks.FirstOrDefault(e=>e.TaskId == taskId);
_dbo.Entry<Task>(task).Reload();
task.Commits += noOfCommits;
_dbo.SaveChanges();
locker.ExitWriteLock();
每次请求都会实例化 _dbo