违反了PRIMARY KEY约束不能在对象中插入重复 + 当IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值。

违反了PRIMARY KEY约束不能在对象中插入重复

情景描述:

   先插入一条订单记录到Orders表中,然后一条条插入要购买的产品条目到OrderItems表中,然而OrderItems表

并未设置主键自增长

未设置表OrderItems主键为自增长,而自己在插入一条记录时又为给主键设置一个唯一值


之后又导致了以下问题:

当IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值。

由于使用的数据库增删改操作语句是使用LINQ-SQL生成的,当更改了OrderItems表的主键为子增长的后忘了

重新生成LINQ-SQL数据库映射文件的操作语句,而向OrderItems表插入一条记录使用时使用的是之前为设置

主键子增长字段时的插入语句,故在设置了主键自增长后 主键列的 IDENTITY_INSERT 被设置为了 ON ,

重新生成LINQ-SQL映射文件即可

大家有遇到这类问题可以问我,我会尽量回答

你可能感兴趣的:(primary)