在部署的应用程序上遇到奇怪的
DbUpdateConcurrencyExceptions
。插入和更新都会引发异常。奇怪的是它有时在一段时间内运作良好..
本地无法重现。
代码:
public Task<Dto> InsertAsync(Dto item)
{
var dbItem = _mapper.Map<DbItem>(item);
_dbContext.SomeDb.Add(dbItem);
_dbContext.SaveChanges();
return Task.FromResult(item);
}
public class DbItem
{
public string Id { get; set; }
public string ExternalId { get; set; }
public string UserId { get; set; }
... Other string properties.
}
上下文配置:
builder.Entity<DbItem>().HasKey(b => b.Id);
不幸的是无法在本地重现。
尝试一下 dbconcurrency 异常
await _dbContext.SaveChangesAsync();
另外,看看这个 [https://learn.microsoft.com/en-us/ef/core/ saving/concurrency?tabs=data-annotations#resolving-concurrency-conflicts] 这帮助我更好地处理数据库并发异常。
如果您想查看我的代码,请告诉我。