EF Core 3.1重复键异常唯一索引

时间:2020-06-01 07:51:42

标签: c# .net-core sql-server-2016 ef-core-3.1

我在带有SQL SErver 2016后端的EF Core 3.1中遇到此错误:

更新条目时发生错误。有关详细信息,请参见内部异常。无法在具有唯一索引“ ix_mobile”的对象“ dbo.table1”中插入重复的键行。重复的键值为(+1,11111)

这与1000次中的40次不一致。我在这里做错了什么? DbContext是DI注入的单个实例。

var user = dbContext.table1.AsNoTracking()
                    .Where(x => x.id== "zyz").SingleOrDefault();

if (user != null)
{
    user.Mobile = "11111";
    user.CountryCode = "+1";

    dbContext.Entry(user).State = EntityState.Modified;
    await dbContext.SaveChangesAsync().ConfigureAwait(false);
}

在这里,我试图更新未插入的条目。例如:ID为2的移动电话号码为“ 11111”。正在检索具有移动电话号码为“ 11111”的ID值为2的行,并使用相同的移动电话号码更新同一行。它应该抛出错误吗?此错误发生的次数与1000次中的40次不一致。仅供参考,没有其他具有相同手机号码的记录。

0 个答案:

没有答案