Asp.net mvc 3 跟踪更改对象更改

Asp.net mvc 3 跟踪更改对象更改,asp.net-mvc-3,entity-framework,nlog,Asp.net Mvc 3,Entity Framework,Nlog,我想了解您对跟踪用户在执行CRUD事件时所做更改的最简单方法的看法。我正在开发一个系统,在这个系统中,用户对权限不太感兴趣,但真正希望有一个复杂的日志记录用户所做的更改。我正在使用ASP.NET MVC 3、EF和NLog 非常感谢您的建议:) Steve我使用基于约定的方法。每个实体都有一个关联的审计实体,其中包括基础实体的所有属性以及有关变更的信息,包括变更是否成功。我在DB上下文中重写SaveChanges方法。对于每个被更改的实体,它将从中创建一个包含新值的审计实体。它尝试保存更改,然后

我想了解您对跟踪用户在执行CRUD事件时所做更改的最简单方法的看法。我正在开发一个系统,在这个系统中,用户对权限不太感兴趣,但真正希望有一个复杂的日志记录用户所做的更改。我正在使用ASP.NET MVC 3、EF和NLog

非常感谢您的建议:)


Steve

我使用基于约定的方法。每个实体都有一个关联的审计实体,其中包括基础实体的所有属性以及有关变更的信息,包括变更是否成功。我在DB上下文中重写SaveChanges方法。对于每个被更改的实体,它将从中创建一个包含新值的审计实体。它尝试保存更改,然后使用单独的审核上下文将每个审核实体与保存操作的结果一起保存。在构建审计实体时,我在数据上下文中使用注入的实用程序来访问当前用户(通过HttpContext.current访问web,通过Environment.user访问非web)


我在博客上发布了LinqtoSQL的早期版本。你应该能够从中得到基本的想法。

看看谢谢tvanfosson!我来看看。你知道关于自我跟踪实体的事情吗?这可以用于审计和跟踪目的吗?