По умолчанию сущности будут использовать все поля для проверки параллелизма при внесении изменений. Вот что выдает InvalidOperationException.
Это может быть установка свойства Проверка обновлений для всех полей на Никогда. Это должно быть сделано во всех полях, чтобы прикрепить объект как измененный. Если это сделано, дополнительный вызов context.SubmitChanges () сохранит данные.
В качестве альтернативы, если вам известны исходные значения, вы можете прикрепить и затем выполнить обновления, но все проверяемые значения должны соответствовать исходным значениям.
LinqEntity item = new LinqEntity(){ Id = 1, Name = "OldName", Surname = "OldSurname"};
context.LinqEntities.Attach(item);
item.Name = "John";
item.Surname = "Doe";
context.SubmitChanges();