奇怪的实体框架DbUpdateConcurrencyException

问题描述 投票:0回答:1

在部署的应用程序上遇到奇怪的

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);

不幸的是无法在本地重现。

c# entity-framework
1个回答
0
投票

尝试一下 dbconcurrency 异常

await _dbContext.SaveChangesAsync();

另外,看看这个 [https://learn.microsoft.com/en-us/ef/core/ saving/concurrency?tabs=data-annotations#resolving-concurrency-conflicts] 这帮助我更好地处理数据库并发异常。

如果您想查看我的代码,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.