Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > LINQ (Language-Integrated Query) > DataContext Update ? |
Автор: Onics2 2.6.2009, 20:50 | ||
Здравствуйте! Столкнулся с проблемой обновления(UPDATE) записи в таблице БД через datacontext. Делаю таким образом:
Падает исключительная ситуация: InvalidOperationException was unhandled Value of member 'CurrencyID' of an object of type 'Currency' changed. A member defining the identity of the object cannot be changed. Consider adding a new object with new identity and deleting the existing one instead. Иногда примечание изменялось(код немного изменял когда): InvalidOperationException was unhandled Cannot attach an entity that already exists. Вобщем никак не могу обновить запись, может вобще все неправильно... :( |
Автор: KelTron 3.6.2009, 04:56 |
В сообщении об ошибке всё написано. Он не может изменить ID у записи, потому что это первичный ключ. Вместо этого создай новую запись, а старую удали. Или в старой записи измени все поля кроме ID на новые. |
Автор: montergerdimachi 4.6.2009, 18:53 | ||
Добрый день, Столкнулся с похожей проблемой. Проблема в том, что требуется только обновить значения, и зачем для этого делать удаление и потом вставку мне непонятно. У меня она возникает в одном случае, есть простой DAO в нем 2 метода create и update когда вызываешь их по отдельности оба работают хорошо. Но, в одном из случаев, чтобы заполнить объект полностью мне необходим его уникальный идентификатор, который, в свою очередь, создается базой данный (PK autoincrement). В этом случае, при вызове метода обновления выскакавает такая же ошибка Кто-нибудь, помогите. Подскажите как можно обновить некоторые поля объекта, а затем сохранить изменения.
|
Автор: montergerdimachi 5.6.2009, 08:30 |
Хм, в моем методе update присутствует вызов этого метода, если ты не заметил, проблема, скорее всего, кроется в другом. Свойства объекта передаются в экземпляре такого же класса, что позволяет уменьшить количество параметров необходимых передать методу. |