2010-01-07 3 views
3

У меня есть отдельный набор клиентских объектов, которые я хотел бы обновить (я знаю, что они уже существуют в db по первичному ключу). Теперь я хочу обновить их до базы данных. Зная, что мне нужно сначала запросить их, я делаю это и теперь должен в основном использовать свойства от удаленных объектов и применять их к прикрепленным объектам. Наконец, я вызываю save changes. Есть ли пятно способ применить эти свойства от отдельной коллекции к прикрепленной?Обновление коллекции с платформой Entity

ПРИМЕЧАНИЕ. Отсоединенные объекты не имеют в них первичных ключей, но у меня есть достаточно информации для связи с помощью класса сравнения.

ответ

1

Вам не нужно делать то, что вы делаете. Вы можете просто вызвать метод Attach в ObjectContext, чтобы сказать, что вы хотите работать с вашими удаленными объектами. Затем просто вызовите SaveChanges для обновления базы данных с измененными объектами.

+1

Сначала присоедините, затем измените, затем SaveChanges. –

+0

Итак, если я привязал объекты (которые не имеют первичного ключа), как бы он знал, чтобы синхронизировать объект? У меня есть класс сравнения, который делает это с вызовами Linq, но я не вижу, как это сделать с помощью Attach – RailRhoad

+0

Если PK не установлен, как вы знаете, какие объекты они представляют, чтобы вы могли выполнять ручную синхронизацию? –

Смежные вопросы