我有以下MVC 5
Model
:
[Schema("dbo")]
[Alias("map")]
public class Map {
[PrimaryKey]
[Alias("id")]
public int Id { get; set; }
[Alias("name")]
public String Name { get; set; }
//others
}
表格中的id
属性为primary key autoincrement
。
我需要Id
来执行更新操作,但这会阻止我插入新条目。
此update
有效:
var res = dbConnection.Update<Map>(map);
虽然insert
没有:
var res = dbConnection.Insert<Map>(map, selectIdentity: true);
我得到了这个例外:
当IDENTITY_INSERT设置为OFF时,无法在表'map'中为标识列插入显式值。
我该怎么做才能解决这个问题?
答案 0 :(得分:2)
[AutoIncrement]
属性指示ORMLite从INSERT字段列表中省略属性字段。
因此将其应用于Id属性:
[PrimaryKey]
[AutoIncrement]
[Alias("id")]
public int Id { get; set; }
插入或更新该实体时,其值将被忽略。