我已经使用这个逻辑一个月了,它最近已经停止工作。
var tool = new Tool() { ToolNumber = toolNumber.Trim(), Description = description.Trim() };
context.AddToTools(tool);
context.SaveChanges();
AddToTools看起来像这样:
public void AddToTools(Tool tool)
{
base.AddObject("Tools", tool);
}
我在context.SaveChanges();上得到了错误
System.Data.Entity.Core.UpdateException HResult = 0x80131501 Message =更新条目时发生错误。有关详细信息,请参见内部异常。
内部异常:
{“违反主键约束'PK_Tool'。无法在对象'dbo.Tool'中插入重复键。重复键值为(0)。\ r \ n该语句已终止。“}
当我检查该值时,tool.ID的值为0,并且表中的ID已经为0,因此异常是正确的。
似乎是某种更新,操作系统更新或SqlServer更新,或某些破坏了它。
为什么我不能插入表?
答案 0 :(得分:0)
以上@Bosco:
“主键不再是增量键,因为内部异常声明重复键为0。您需要将确定设置为自动增量”
以某种方式在表定义中将Identity属性更改为no。将其更改为是,一切都很好。