NHibernate - как проводить аудит все поля объекта?

Я использую NHibernate и ищу решение, которое позволит мне контролировать изменения всех полей объекта. Я хочу иметь возможность создать таблицу истории для каждой сущности, то есть Users -> UsersHistory, которая будет иметь ту же структуру, что и таблица Users, и дополнительные поля, такие как тип операции (обновление, удаление), идентификатор пользователя, который внес изменения, и т. Д. Я не Не хочу определять такой класс для каждой сущности. Я ищу что-то вроде History (т.е. History ), потому что эти записи не принадлежат моему домену и будут использоваться только для подготовки списка изменений. сделано для объекта. Я также считаю, что было бы лучше делать вставки в эти таблицы в коде, чем создавать триггеры sql. По сути, мне просто нужно создать копию записи в таблице истории при обновлении или удалении, и я хочу, чтобы вставка создавалась NHibernate. Мне также нужно будет читать записи из таблиц истории - как я уже сказал, эти таблицы будут состоять из полей сущностей и некоторых общих полей истории.

Я не могу найти руководства по созданию такого решения. Все, что я могу найти, это добавить UserModified, UpdatedTimestamp и т. Д., Если у меня уже есть такие поля в сущности. Однако мне нужна полная история объекта, а не только информация о том, кто последний раз изменил запись.

Заранее благодарим за помощь.

9
задан empi 16 August 2011 в 20:54
поделиться