Получить список измененных свойств только в коде EF 4.2 - PullRequest
0 голосов
/ 27 февраля 2012

(извините за мой плохой английский)

Эй, мне нужно регистрировать все изменения, которые происходят в моей базе данных для целей аудита.Когда я вставляю или удаляю сущность, это легко, но когда я что-то обновляю, мне нужно сохранить, какие свойства изменились и из / в какие значения.Мой доменный сервис - DbDomainService.Как я могу получить изменения?Нужно ли обращаться к базе данных, чтобы увидеть старые значения и сравнить их самому?

1 Ответ

0 голосов
/ 27 февраля 2012

Есть более элегантные способы сделать это (например, используя методы кодирования Aspect), но у меня был один отдельный случай, в котором я это делал. Это стандартное обновление служб WCF RIA на стороне сервера для каждого объекта, для которого разрешено обновление.

public void UpdatePackingSlip(PackingSlip currentPackingSlip)
{

  var BeforeUpdate_PackingSlip = this.ChangeSet.GetOriginal(currentPackingSlip);
  //at this point you can compare the original values from the updated values, and capture
  // whatever you want todo

Просто убедитесь, что вы не измените код, который присоединяет объект обратно к контекст объекта.

...