如何使用事务并发锁定读取某些实体并进行更改?

时间:2018-07-28 15:43:46

标签: .net entity-framework concurrency transactions

如何使用事务并发锁定来读取某些实体并更改其属性 例如,我必须这样做:

`

// repository has access to database context
var account = _accountRepository.Get(accountId); 
if(account.Balance > product.Price){
    // Thread.Sleep(time);
    account.Balance -= product.Price;
}
_accountRepository.Update(account);

`

该怎么做,以使许多线程不能仅通过事务来破坏它?我不能使用乐观的并发方式添加一些时间戳) 如果我使用隔离级别可序列化的事务,则会导致线程死锁

0 个答案:

没有答案