Решение, которое я нашел, заключается в создании второго набора объектов - ModelUpdates.
Когда пользователь нажимает Редактировать , объект ModelUpdate (который имеет те же свойства, что иСоздается объект модели), и DataContext переключается на этот объект.
Когда пользователь нажимает Сохранить , сведения об объекте ModelUpdate отправляются в службу.Служба сообщает подробности об обновленном объекте, которые затем объединяются с хранилищем модели.
Это означает, что модель обновляется только с данными, которые были успешно сохранены.Если объект был сохранен неправильно, версия базы данных будет отправлена обратно клиенту.Если при сохранении произошла ошибка, версия базы данных будет отправлена обратно клиенту.Если сервер недоступен, клиент сохранит предварительно отредактированную версию.