使用自动增量键插入时出现ORMLite错误

时间:2018-01-12 15:45:29

标签: mysql asp.net-mvc ormlite-servicestack

我有以下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'中为标识列插入显式值。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

[AutoIncrement]属性指示ORMLite从INSERT字段列表中省略属性字段。

因此将其应用于Id属性:

[PrimaryKey]
[AutoIncrement]
[Alias("id")]
public int Id { get; set; }

插入或更新该实体时,其值将被忽略。