public bool UpdateValues(String impR, String actR, String proR, String impV, String magV)
{
bool IsInserted = false;
try
{
MatrixValues c = cecbContext.MatrixValues.First(i => i.actv_reference == actR); // primary key
c = cecbContext.MatrixValues.First(i => i.impt_reference == impR); // primary key
c = cecbContext.MatrixValues.First(i => i.proj_reference == proR); // primary key
c.mtrxV_importance = double.Parse(impV); // updated value
c.mtrxV_magnitude = double.Parse(magV); // updated value
cecbContext.SaveChanges(); // getting an error here!!!
IsInserted = true;
}
catch (Exception)
{
IsInserted = false;
}
return IsInserted;
}
我在尝试更新详细信息时遇到错误
错误是
违反PRIMARY KEY约束'PK_MatrixValues'。无法在对象'dbo.MatrixValues'中插入重复键。
答案 0 :(得分:1)
您要多次设置对象c
;如果最后一个陈述就足够了;然后不要使用以前的;如果要使用多个标准选择c
对象,则需要更改以下行;
MatrixValues c = cecbContext.MatrixValues.First(i => i.actv_reference == actR); // primary key
c = cecbContext.MatrixValues.First(i => i.impt_reference == impR); // primary key
c = cecbContext.MatrixValues.First(i => i.proj_reference == proR); // primary key
为:
MatrixValues c = cecbContext.MatrixValues.First(i => i.actv_reference == actR && c.impt_reference == impR && c.proj_reference == proR);
答案 1 :(得分:0)
违反PRIMARY KEY约束'PK_MatrixValues'。无法在对象'dbo.MatrixValues'
中插入重复键
这意味着该字段包含主键。它不允许重复条目