У меня есть следующая Model
MVC 5
:
[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);
Я получаю это исключение:
Невозможно вставить явное значение для столбца идентификатора в таблице 'map', если для параметра IDENTITY_INSERT установлено значение OFF.
Что я могу сделать, чтобы решить эту проблему?
[AutoIncrement]
указывает ORMLite опустить присвоенное поле из списка полей INSERT.
Поэтому примените его к свойству Id:
[PrimaryKey]
[AutoIncrement]
[Alias("id")]
public int Id { get; set; }
И его значение будет игнорироваться при вставке или обновлении этого объекта.
map.Id
?