我想在DB Records上保存用户更改的历史记录。诸如编辑记录之类的更改(例如,在yyyy / dd / mm中由user1将FirstName字段的值从'n'更改为'x'),删除记录和....
请建议一种在EF codefirst中实现此方法的方法。
编辑后:
哪一个更好?
1.创建一个表以保存所有表日志
2.为数据库中的每个表创建一个表
答案 0 :(得分:2)
覆盖SaveChanges方法。
在SaveChanges方法中使用ObjectStateManager.GetObjectStateEntries遍历条目
然后使用ObjectStateEntry CurrentValues.DataRecordInfo.FieldMetadata []。FieldType.Name和entry.CurrentValues来获取名称值对