Cal*_*nus 4 sql-server entity-framework
在我的数据库中,我有一个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智能地计算出主键,为什么会发生这种情况?
你有两个选择:
INT IDENTITY(1,1)
- 在这种情况下,SQL Server将自动分配唯一和单独的数字,而EF将很好用开箱即用的EF没有任何内容可以神奇地为主键分配唯一的数字 - 如果你认为这是一个误解.
渣
归档时间: |
|
查看次数: |
5540 次 |
最近记录: |