Ahmed Dabas Ответов: 1

Когда я вставляю мульти-записи, я сталкиваюсь с identity_cash proplem


Я пытаюсь вставить несколько записей в цикл foreach с помощью Entity Framework , первая запись вставлена успешно , но whet start insert second record произошло исключение sql it details say (SqlException: не удается вставить явное значение для столбца identity в таблице 'EmployeeVacation', когда IDENTITY_INSERT установлен в OFF.)

Что я уже пробовал:

я стараюсь это в от SQLServer : набор EmployeeVacation identity_insert установлен , но не работает

Patrice T

Попробуйте показать свой код.

Dave Kreskowiak

Не видя вашего кода, невозможно сказать вам, что вы делаете неправильно.

1 Ответов

Рейтинг:
7

F-ES Sitecore

Вы пытаетесь дать полю, имеющему столбец, помеченный как столбец идентификатора (обычно идентификатор таблицы), явное значение, которое не допускается, SQL генерирует это значение автоматически. Вероятно, вы повторно используете добавленную сущность и пытаетесь ее добавить. Когда вы впервые создаете сущность, она не имеет идентификатора, но получает его при добавлении, и если вы попытаетесь добавить его повторно, то получите эту проблему. Не видя кода невозможно сказать что это за исправление но вы вероятно делаете это;

var e = new MyEntity();
foreach (var i in col)
{
    e.Property = i.Property;
    db.MyTables.Add(e);
}


тебе нужно это сделать

foreach (var i in col)
{
    var e = new MyEntity();
    e.Property = i.Property;
    db.MyTables.Add(e);
}


Ahmed Dabas

Спасибо, братан , это работа :)