Entity Framework Core 悲观锁定行表 Mysql

aim*_*man 5 c# ef-core-2.1

例如,如何在 EF Core 中使用 sql 查询 this._context.Person.FirstOrDefault(a => a.id==1).ForUpdate()

SELECT * FROM person WHERE id = 1 FOR UPDATE;

在 EF core 中,我发现 Implementing optimistic concurrency with EF Core( [ConcurrencyCheck], with Fluent Api ".IsConcurrencyToken();"),但它没有解决我的问题

Der*_*ğlu 1

你可以使用TransactionScopeSystem.Transactions

using (var scope = new TransactionScope())
{
  var person = this._context.Person.FirstOrDefault(a => a.id==1);
  person.Col1 = "John Doe";
  this._context.Person.Update(person);

  this._context.SaveChanges();
  scope.Complete();
}
Run Code Online (Sandbox Code Playgroud)