3

我有一个要求,我必须使用 SQL Server 2008 将审计日志功能放在 C# 中的现有 Asp.net Web Forms 应用程序中。此应用程序中有各种页面,它们使用formviews、listviews、gridviews 来插入、更新和删除数据. 要求是使用已修改/删除的数据、用户详细信息和时间戳来捕获这些事件中的每 3 个

我想要关于如何轻松实现这一点(应用程序端的代码)以及仅使用一个 AuditLog 表(数据库端)的想法/建议。这是我最初的表格设计:

- AuditId uniqueidentifier
- TableName varchar(100)
- RecordId varchar(100) (some tables have int as primary and some have guid)
- Action char(1) (I - insert, U - update, D - delete)
- RecordData varchar(MAX) (dump all data for that record, not sure about this field, need help??)
- ActionDate datetime 
- ActionedBy varchar(20) (user)

提前致谢...

4

1 回答 1

1

您使用什么技术进行数据访问?使用 EF,您可以处理 SavingChanges 事件:

http://www.codeproject.com/Articles/34491/Implementing-Audit-Trail-using-Entity-Framework-Pa

使用 NHibernate,实现 IInterceptor:

http://nhforge.org/wikis/howtonh/creating-an-audit-log-using-nhibernate-events.aspx

于 2013-05-30T07:35:57.990 回答