Есть ли способ получить все изменения, внесенные в объект в Платформе Объекта, прежде чем это сохранит все изменения. Причина этого состоит в том, что я хочу составить таблицу журнала в нашей клиентской базе данных:
так...
Существует ли способ получить текущие (старые) значения базы данных и новые значения (текущие), прежде чем изменения будут сохранены?
В противном случае, как я могу достигнуть этого универсальным способом, таким образом, все мои Модели Представления могут наследоваться этому? (Я использую MVVM + M Структура),
Вы можете использовать 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]);
}