2012-08-12 169 views
1

我想要在DB记录中保存用户更改的历史记录。诸如编辑记录的变化(例如,通过yyyy/dd/mm由user1将FirstName字段的值从'n'更改为'x'),删除记录和......

请建议一种实施方法这EF codefirst在EF代码中记录用户更改的历史记录

编辑后:?
,哪一个更好
1.创建一个表来保存所有表记录
2.创建在数据库中的每个表的表

+0

投票通过条目

在你SaveChanges方法循环为什么是负面的? – 2012-08-13 21:03:48

+1

类似的问题在这里:http://stackoverflow.com/q/6156818/270591 – Slauma 2012-08-13 21:41:00

+0

Of Course.But我编辑question.please检查它... – 2012-08-13 21:46:02

回答

2

覆盖SaveChanges方法。使用ObjectStateManager.GetObjectStateEntries

然后使用ObjectStateEntry CurrentValues.DataRecordInfo.FieldMetadata []。FieldType.Name和entry.CurrentValues得到名称值对