使用Entity Framework中的ObjectContext.SaveChanges方法选择性地审核日志记录

时间:2011-06-09 19:25:18

标签: entity-framework auditing savechanges

我需要在我的应用程序中执行审计日志记录,并且我希望SaveChanges记录对数据库的任何更改。在某些情况下,我不希望发生日志记录。告诉SaveChanges不执行审计日志记录的最优雅方法是什么?我正在使用Entity Framework 4。

2 个答案:

答案 0 :(得分:0)

我会创建一个自定义属性来装饰需要日志的元素。它将由log方法读取。此属性可以应用于类和属性,以便您可以精确选择应记录的内容。

我建议您使用缓存来避免每次都检查是否应记录某些内容。

答案 1 :(得分:0)

我已经实现了类似的日志记录要求。我将表的信息存储在数据库中名为tablemaster的metatable中,并存储了许多与登录相关的信息。其中一个字段指示是否记录该表的条目。 我在上下文中调用保存更改时记录审计跟踪,即我决定是否要对这些表进行日志记录。 Meta Table tablemaster在应用程序启动时在内存中获取,因此无需往返查看详细信息。希望这会有所帮助。

相关问题