Мы используем automapper , чтобы взять наши доменные сущности и отобразить их для просмотра моделей.Примерно так:
var viewModel = Mapper.Map<DomainEntityClass, ViewModelClass>(entity);
Затем, на обратной стороне представления / страницы, мы можем проверить, отличаются ли они, снова загрузив объект и сравнив его с моделью отображенного представления:
var entity = Repository.Get<DomainEntityClass>(id);
var mappedEntity = Mapper.Map<DomainEntityClass, ViewModelClass>(entity);
// code to compare mappedEntity to incoming viewmodel
//
// or build an equality comparer to test them
Идея состоит в том, что если конфигурация сопоставления не изменилась, вызов Mapper.Map (с учетом той же сущности) должен вернуть совпадающие объекты модели представления, если ничего не изменилось.
Для помощи в построении средств сравнения равенствапроверьте здесь - http://msdn.microsoft.com/en-us/library/ms132151.aspx