我正在尝试使用给定代码更新数据库中的记录:
DbEntityEntry dbEntityEntry = DbContext.Entry(entity);
if (dbEntityEntry.State == EntityState.Detached)
{
DbSet.Attach(entity);
}
dbEntityEntry.State = EntityState.Modified;
在此之后我调用Save Changes。我收到了错误
违反PRIMARY KEY约束并且无法插入重复键 在对象中。声明已经终止。
虽然这种方法在其他表格中有效。有什么建议??
答案 0 :(得分:0)
抛出此异常是因为我没有在其中一个表中将主键声明为复合键。
HasKey(t => new { t.THIRDTABLEID, t.FOURTHTABLEID });
此外我也没有因为正确定义这种关系,因为缺少一个关键。上面的代码被抛出异常所以我发布了它。以下是我解决链接的方式:The number of columns specified must match the number of primary key columns EF