实体类中有主键,数据库中主键是自增的,使用linq插入记录时,由于实体类有数据产生报错的解决方法

时间:2022-08-04 17:43:05

使用 LINQ , 向数据库中插入一条数据。

 

会报出

 

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

 

原因是因为在数据库表中,有标识列,而标识列又不允许修改。所以会报出这个错误。。

 

解决方法是: 在类的字段中,为声明的字段加上 isDBGenerated=true;

 

[Column(isPrimaryKey = true, Name = "roleId",isDBGenerated=true)]
        public int RoleId
        {
            get { return roleId; }
            set { roleId = value; }
        }