Numeração automática com estrutura de entidades

Eu quero percorrer uma coleção de objetos e adicioná-los todos a uma tabela. A tabela de destino possui um campo de incremento automático. Se eu adicionar um único objeto, não há problema. Se eu adicionar dois objetos, ambos com a chave primária zero, a estrutura da entidade falhará. Posso especificar manualmente chaves primárias, mas o objetivo de tentar o EF era tornar a vida mais fácil, não mais complicada. Aqui está o código e a exceção recebida a seguir.

foreach (Contact contact in contacts)
{               
    Instructor instructor = InstructorFromContact(contact);             
    context.AddToInstructors(instructor);               
}

try
{                   
    context.SaveChanges();                  
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}

O erro é:

System.InvalidOperationException: As alterações no banco de dados foram confirmadas com êxito, mas ocorreu um erro ao atualizar o contexto do objeto. O ObjectContext pode estar em um estado inconsistente. Mensagem de exceção interna: AcceptChanges não pode continuar porque os valores-chave do objeto entram em conflito com outro objeto no ObjectStateManager. Verifique se os valores da chave são exclusivos antes de chamar AcceptChanges. em System.Data.Objects.ObjectContext.SaveChanges (opções SaveOptions)
em System.Data.Objects.ObjectContext.SaveChanges () em DataMigration.Program.CopyInstructors () em C: \ Projects \ DataMigration \ Program.cs: linha 52

questionAnswers(3)

yourAnswerToTheQuestion