2013-10-07 3 views
1

Я хочу проверить, был ли объект объекта изменен (в том числе, если какой-либо из его дочерних элементов был изменен). Я использую Entity Framework 4.4Обнаружить, если объект каркаса сущностей был изменен

Мой код в основном загружает в объект из базы данных и применяет значения к некоторым свойствам (однако они могут быть такими же, как оригинал).

Я знаю, что могу проверить entityObject.EntityState, но обновляется ли это, если у детей есть изменения или мне нужно прокрутить все дочерние объекты в объекте?

Это связано с тем, что если мне нужно запустить целую кучу другого кода (например, отправить оповещение по электронной почте пользователю и прочесть, что значения были обновлены, но я не хочу запускать этот код, если они не были обновлены).

+0

«EntityState» относится только к ** объекту **, а не ко всем его дочерним элементам. Если вам нужно знать, была ли изменена сущность или какой-либо из ее дочерних элементов, вам нужно пройти дерево дочерних элементов и проверить свойство каждого объекта дочернего объекта 'EntityState' тоже –

+0

Я надеялся избежать этого, как если бы я добавил другой стол, который я могу забыть, пройти по нему. Есть ли способ получить всех детей, чтобы я мог написать общий метод, который мог бы пересекать их, даже если изменения схемы на более позднем этапе? – DermFrench

+1

Эмм, может быть, с помощью рекурсии? – walther

ответ

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