Numero automatico con Entity Framework

Voglio passare in rassegna una collezione di oggetti e aggiungerli tutti a un tavolo. La tabella di destinazione ha un campo di incremento automatico. Se aggiungo un singolo object non ci sono problemi. Se aggiungo due oggetti entrambi con la chiave primaria di zero, l’architettura dell’ quadro fallisce. Posso specificare manualmente le chiavi primarie, ma l’intero punto di provare l’EF era rendere la vita più facile e non più complicata. Ecco il codice e segue l’eccezione ricevuta.

foreach (Contact contact in contacts) { Instructor instructor = InstructorFromContact(contact); context.AddToInstructors(instructor); } try { context.SaveChanges(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } 

L’errore è:

System.InvalidOperationException : le modifiche al database sono state eseguite correttamente, ma si è verificato un errore durante l’aggiornamento del contesto dell’object. ObjectContext potrebbe trovarsi in uno stato incoerente. Messaggio eccezione interna: AcceptChanges non può continuare perché i valori chiave dell’object sono in conflitto con un altro object in ObjectStateManager. Assicurarsi che i valori chiave siano univoci prima di chiamare AcceptChanges. a System.Data.Objects.ObjectContext.SaveChanges (opzioni SaveOptions)
a System.Data.Objects.ObjectContext.SaveChanges () a DataMigration.Program.CopyInstructors () in C: \ Projects \ DataMigration \ Program.cs: riga 52