1

我想在数据库记录上保存用户更改的历史记录。编辑记录等更改(例如,用户 1 在 yyyy/dd/mm 中将 FirstName 字段的值从 'n' 更改为 'x')、删除记录和...。

请建议一种在 EF codefirst 中实现此功能的方法。

编辑后:
哪个更好?
1.创建一张表保存所有表的日志
2.为数据库中的每张表创建一张表

4

1 回答 1

2

覆盖 SaveChanges 方法。

在 SaveChanges 方法中,使用 ObjectStateManager.GetObjectStateEntries 遍历条目

然后使用 ObjectStateEntry CurrentValues.DataRecordInfo.FieldMetadata[].FieldType.Name 和 entry.CurrentValues 获取名称值对

于 2012-08-12T16:23:26.423 回答