Я хочу перебрать коллекцию объектов и добавить их все в таблицу. Таблица назначения имеет поле автоматического увеличения. Если я добавлю один объект, проблем нет. Если я добавлю два объекта как с первичным ключом, равным нулю, инфраструктура сущности завершается с ошибкой. Я могу вручную указать первичные ключи, но все, что нужно, чтобы попробовать EF, было сделать жизнь проще не сложнее. Ниже приведен код и полученное исключение.
foreach (Contact contact in contacts)
{
Instructor instructor = InstructorFromContact(contact);
context.AddToInstructors(instructor);
}
try
{
context.SaveChanges();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Ошибка:
System.InvalidOperationException. Изменения в базе данных были успешно завершены, но произошла ошибка при обновлении контекст объекта. Объект ObjectContext может находиться в несогласованном состоянии. Внутреннее сообщение об исключении: AcceptChanges не может продолжаться, поскольку значения ключа объекта конфликтуют с другим объектом в ObjectStateManager. Убедитесь, что значения ключа уникальны до вызов AcceptChanges. в Параметры System.Data.Objects.ObjectContext.SaveChanges(SaveOptions)
в System.Data.Objects.ObjectContext.SaveChanges() at DataMigration.Program.CopyInstructors() в C:\Projects\DataMigration\Program.cs: строка 52