This problem happens because you are referencing the same object more than once. This is not a limitation of EF
, but rather a safety feature to ensure you are not inserting
the same object with two different IDs
. So to achieve what you are trying to do, is simply create a new object and add the newly created object to the database
.
** This issue often happens inside loops
. If you are using a while or foreach loop
, make sure to have the New Created Object INSIDE the loop
body.
try this:
Contact contact = dbContext.Contacts.Single(c => c.contactTypeId == 1234);
contact.contactTypeId = 4;
dbContext.AddObject(contact);
dbContext.SaveChanges();