Например, у меня есть следующая таблица:
CREATE TABLE Person (
id int IDENTITY(1,1) NOT NULL PK,
firstName nvarchar(20) NOT NULL,
lastName nvarchar(30) NOT NULL,
birtdate datetimeoffset(7) NOT NULL,
age int,
height int,
)
Существует часть отображения сущности:
public void Configure(EntityTypeBuilder<Person> builder)
{
...
builder.HasKey(k => k.Id);
builder.Property(k => k.Id)
.ValueGeneratedOnAdd()
.IsRequired();
...
}
У меня есть сервер MS SQL с этой таблицей на стороне клиента и той же таблицей на стороне сервера. Моя программа получает данные из таблицы на клиенте и отправляет их на сервер, где данные добавляются в базу данных.
Нет проблем при получении данных, но когда я пытаюсь вставить данные, я получаю сообщение об ошибке:
SqlException: Cannot insert explicit value for identity column in table 'Person' when IDENTITY_INSERT is set to OFF.
несмотря на .ValueGeneratedOnAdd()
Когда я получаю данные, я получаю сущности с заполненными свойствами Id (1, 2, 3 и т. Д.), Но я думаю, что это не имеет значения.