在我的数据库中,我有一个Vehicle带主键的表.我正在使用创建一个新Vehicle对象
new Vehicle();
Run Code Online (Sandbox Code Playgroud)
并适当更新车辆的属性.
当我尝试做一个
genesisContext.Vehicles.AddObject(vehicle);
Run Code Online (Sandbox Code Playgroud)
第一次成功更新表并且主键为0.在随后的所有情况下,我都会收到错误消息,指出密钥不是唯一的
违反PRIMARY KEY约束'VEHICLES_PK'.无法在对象'dbo.Vehicles'中插入重复键.\ r \n语句已终止.
(可能是因为EF设置的主键仍为0)
我的理解是,EF智能地计算出主键,为什么会发生这种情况?