В результате того, что объект является частью ключа объекта, он должен быть удален из контекста и повторно присоединен с новым значением первичного ключа.
Entity Framework работает с наличием контекста, который управляет состоянием сущностей, коллекцией сущностей (в основном, таблицей) и самой сущностью (строкой данных). Когда данные считываются из базы данных, они добавляются в коллекцию объекта, которая, в свою очередь, управляется контекстом для изменения состояния. Изменение ключа сущности действительно удаляет запись из базы данных и вставляет новую. В результате, чтобы изменить ключ объекта, сначала удалите объект из его коллекции, отсоедините объект объекта, чтобы разрешить изменение ключа, измените значение первичного ключа и повторно присоедините объект к коллекции. Наконец, вызовите сохранить изменения в контексте, чтобы применить изменения к базе данных.
Следующий код должен дать желаемые результаты:
Context.UTLs.DeleteObject(utl);
Context.UTLs.Detach(utl);
Context.SaveChanges();
utl.USS_ID = Convert.ToInt32(ddlSubSetor.SelectedItem.Value);
Context.UTLs.AddObject(utl).
Context.SaveChanges();