无法在对象异常ef中插入重复键

时间:2015-01-23 07:28:47

标签: c# sql entity-framework

我正在尝试使用给定代码更新数据库中的记录:

DbEntityEntry dbEntityEntry = DbContext.Entry(entity);
            if (dbEntityEntry.State == EntityState.Detached)
            {
                DbSet.Attach(entity);
            }
            dbEntityEntry.State = EntityState.Modified;

在此之后我调用Save Changes。我收到了错误

  

违反PRIMARY KEY约束并且无法插入重复键   在对象中。声明已经终止。

虽然这种方法在其他表格中有效。有什么建议??

1 个答案:

答案 0 :(得分:0)

抛出此异常是因为我没有在其中一个表中将主键声明为复合键。

HasKey(t => new { t.THIRDTABLEID, t.FOURTHTABLEID });

此外我也没有因为正确定义这种关系,因为缺少一个关键。上面的代码被抛出异常所以我发布了它。以下是我解决链接的方式:The number of columns specified must match the number of primary key columns EF