【发布时间】:2018-01-14 02:40:17
【问题描述】:
我有以下MVC 5Model:
[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”中的标识列插入显式值。
我能做些什么来解决这个问题?
【问题讨论】:
-
那么,
map.Id的值是多少? -
插入没关系,因为我需要DBMS根据当前的增量值来设置
-
这很重要,因为如果它是非默认的(即不是
0),ORM 会尝试将它包含在插入语句中。 -
我得到的错误是关于“你不能明确设置 id”,不管值是什么......
-
即使是 0?你能验证一下吗?
标签: mysql asp.net-mvc ormlite-servicestack