Журнал аудита БД фиксирует дату последнего изменения, дату изменения и дату создания пользователя.
Есть несколько возможных реализаций:
Было бы неплохо, если бы вы включили в свой ответ реализацию (или ссылку на нее).





В зависимости от того, что вы делаете, вы можете переместить аудит из уровня данных в уровень доступа к данным. Это дает вам больше контроля.
Я задал аналогичный вопрос по NHibernate и SqlServer здесь.
Я полностью второй @IainMH (и проголосовал за него).
Вы хотите, чтобы он был в вашем DAL и в идеале привязан к какому-то механизму внедрения аспектов / перехватчиков / кода.
+2 за реализацию когда как для аудита в DAL.
Что касается того, где должны находиться сами записи аудита, это зависит от того, как они будут видны. Я бы сделал отдельную таблицу, если пользователи могут просматривать отдельный «отчет о контрольном следе», но пометить существующие таблицы, если вы хотите отображать последние аудиты измененного типа встроенными.
Вот реализация, которую я использую для аудита таблиц: Часто задаваемые вопросы по SQL Server от Поп Риветта № 5: Поп в контрольном журнале
Возможно, вы захотите ознакомиться со статьей <a href="in.relation.to/1236.lace">это</a> разработчика Hibernate Кристиана Бауэра.