我有一个要求,可以在EF4 ASP.NET MVC3应用程序中保留某些字段值的历史记录。这只需要是一个排序日志文件,记录用户,日期时间,表名,字段名,旧值,新值。保留EF实体的特定属性值的历史记录
虽然这将是很容易在不同的代码保存这个程序,我想知道如果我可以通过它的布线成某种dataannotation的获得全球覆盖,这样我或许可以申报
[KeepHistory()]
public string Surname { get; set; }
在我的部分类(我使用POCO,但从T4模板生成)。
所以问题
1)这是一个坏主意吗?我基本上建议对实体进行副作用更改,而不是由代码直接引用,作为注释的结果。
2)可以这样做吗?我是否可以访问正确的上下文以配合我的工作单元,以便保存或删除上下文保存中的更改?
3)有没有更好的方法? 4)如果你建议我这样做,任何指针将不胜感激 - 我读过的所有内容都是用于验证的,这可能不是最好的起点。
我知道Hibernate和Envers http://www.jboss.org/envers一样。我不知道EF或类似框架的任何.Net端口,但如果你需要自己实现它,你可能会'借用'一些好主意...... – rene 2011-02-24 17:08:42
恩弗斯正是我想要的EF!至少这表明我可能不是唯一一个认为这种行为会是个好主意的人! – Andiih 2011-02-24 18:09:32
[“NHibernate Envers喜欢使用Entity Framework 6 +审计日志”](http://stackoverflow.com/q/24257164/1997229) – 2014-09-18 16:18:24