在对数据库操作时,insert是一个很常见的行为了。
但是,在Linq To Sql下,插入带有Identity列(自动增长列,一般为主键列)的表格时候会报如下错误:
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Role' 中的标识列插入显式值。
百思不得其解,后来在网上找到了答案,设置Identity列的属性 IsDbGenerated=true ,AutoSync=AutoSync.OnInsert 就可以了,代码如下
[Column(Storage="_RsvpID", IsDbGenerated=true,AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL", IsPrimaryKey=true)]