У меня есть вызов, который должен определить, изменилось ли поле. Но вызов get с использованием этого идентификатора объекта возвращает тот же объект, а не предыдущую версию.
Entity e = Dao.Get(id);
//At this point e.Field is X
e.Field = y;
Dao.Save(e);
Entity Dao.Get(Guid id)
{
return Session.Get(id);
}
Entity Dao.Save(Entity e)
{
Entity olde = Session.Get(e.Id);
if (e.Field != olde.Field) <--- e.Field == olde.Field so it does not run.
DoBigMethod(e);
return e;
}
Как мне справиться с этой ситуацией, не добавляя метод onChange в класс Entity.