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

在使用DBHelper进行数据库的数据操作时,有一个表的字段设置为自增,但是在执行INSERT的方式方法时报错

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

经过DEBUG发现了问题所在:

实体类的主键类型是int型,并且设置的为自增,虽然在创建实体类的时候没有对这个主键进行赋值,但是int类型有默认值,所以在创建对象时,对象的主键默认为0

 

解决方法:

在实体类的int主键上加上过滤,如下

[FieldInfoAttribute(CanInsert = false, CanUpdate = false)]
public int HZTagID { get; set; }

这样在进行数据库插入操作时,就会忽略这个字段,就不会出现上述的报错了!

你可能感兴趣的:(程序错误,DBHelper)