4

每当更新/删除实体时,NHibernate Envers 都能很好地创建审计日志。基本上,它为每个可审计实体创建一个审计表,并将数据的快照写入审计表。例如,如果客户记录保存在 CUSTOMER 表中,则客户记录的审计日志将保存在 CUSTOMER_AUD 表中。

在我的一个项目中,我们使用的是 Entity Framework 6.1。我已经搜索并查看了各种替代方案,例如AuditDBContextEntityFramework Extensions,但它们都没有提供类似于 NHibernate Envers 的开箱即用解决方案。

我认为生成审计日志应该是一个非常普遍的要求,所以我的问题是,EF 6+ 是否有任何现成的解决方案可以生成类似于 NHibernate Envers 的审计日志?

4

2 回答 2

2

也看看https://github.com/bilal-fazlani/tracker-enabled-dbcontext

https://www.nuget.org/packages/TrackerEnabledDbContext

它有点不同,但值得一看。

于 2014-11-02T09:05:11.670 回答
1

我最终使用AuditDBContext实现了一个自定义解决方案。

基本上,我使用AuditDBContext来跟踪哪些属性发生了变化,然后用它来将信息写入审计表。审计表完全反映了主表的两个附加列:

  • REV_TYPE - 表示修订类型可以是添加/更新/删除
  • REV_ID - 表示该行的唯一修订 ID。
于 2014-09-05T08:15:34.383 回答