Получение всех изменений, внесенных в объект в Платформе Объекта

Есть ли способ получить все изменения, внесенные в объект в Платформе Объекта, прежде чем это сохранит все изменения. Причина этого состоит в том, что я хочу составить таблицу журнала в нашей клиентской базе данных:

так...

Существует ли способ получить текущие (старые) значения базы данных и новые значения (текущие), прежде чем изменения будут сохранены?

В противном случае, как я могу достигнуть этого универсальным способом, таким образом, все мои Модели Представления могут наследоваться этому? (Я использую MVVM + M Структура),

45
задан Willem 16 July 2010 в 13:25
поделиться

1 ответ

Вы можете использовать ObjectStateManager,GetObjectStateEntry ObjectContext для получения ObjectStateEntry объекта, который содержит его исходные и текущие значения в свойствах OriginalValues и CurrentValues. Вы можете получить имена свойств, которые изменились, используя метод GetModifiedProperties.

Вы можете написать что-то вроде:

var myObjectState=myContext.ObjectStateManager.GetObjectStateEntry(myObject);
var modifiedProperties=myObjectState.GetModifiedProperties();
foreach(var propName in modifiedProperties)
{
    Console.WriteLine("Property {0} changed from {1} to {2}", 
         propName,
         myObjectState.OriginalValues[propName],
         myObjectState.CurrentValues[propName]);
}
59
ответ дан 26 November 2019 в 21:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: