Я видел много сообщений по SE, относящихся к этому, но никто не ответил на вопрос удовлетворительно. Если есть сообщение, которое отвечает на это (с примером фактического кода), пожалуйста, укажите мне в этом направлении.Entity Framework 4: Как получить исходные значения дочернего объекта при сохранении родителя?
Мне нужно записать информацию в журнал при сохранении объекта. Мне нужно знать исходные значения и новые значения. Это очень легко для родительского объекта, и даже довольно легко получить значения для любых измененных дочерних объектов. Задача заключается в получении значений оригинала значений дочернего объекта.
Например, пользователь может изменить дочерний объект в раскрывающемся списке. Это изменяет значение внешнего ключа родителя. При сохранении мне нужно написать текстовое описание (значение ToString() или другое значение) измененного объекта в журнале, а не значение внешнего ключа.
ObjectStateEntry содержит текущие значения и исходные значения родителя, но как получить текущие и исходные значения измененного дочернего объекта?
Кажется, что это то, что должно быть возможно, но слишком сложно выполнить или было упущено командой разработчиков Microsoft.
Заранее благодарим за любую помощь.
Почему вы не можете получить изменения, используя 'var entity = context.Entry (ваш дочерний сущностный экземпляр);' и затем используя 'entity.OriginalValues'? – Eranga
Ну, если бы я хотел жестко закодировать имена для каждого объекта, но мне нужен более общий метод, который мог бы исследовать объект, получить старые и новые значения для всего, что изменилось, и если произойдет одно из этих значений быть внешним ключом, получать старые и новые значения объекта в отношениях. – camainc