Дозвуковой Сравнить два объекта - PullRequest
1 голос
/ 30 августа 2009

Я хотел бы использовать этот универсальный класс CompareObjects, но кажется, что объекты Subsonic record не реализуют IComparable.

User userFromDB = User.SingleOrDefault(x => x.UserName == "CmdrTallen");
User modifiedUser = new User();
TryUpdateModel(modifiedUser);
if(CompareOjbects<User>(userFromDB, modifiedUser) != 0)
{
    this.log("User was modified")
    //+ Add modified columns collection to log here
}

Я заново изобретаю колесо? Возможно, более простой способ?

Ответы [ 2 ]

2 голосов
/ 30 августа 2009

В конечном итоге я использовал this Generic Serializer для получения как сохраненной записи БД (userFromDB), так и измененного пользователя (ifiedUser). Сериализация их в XML и последующее использование this для создания диаграммы. Именно то, что мне было нужно.

Woot!

1 голос
/ 30 августа 2009

По умолчанию шаблон AR переопределяет Equals () для сравнения первичных ключей вместо сравнения базовых объектов. Вы можете изменить это, изменив файл ActiveRecord.tt.

...