我意识到已经发布了很多关于 ADO.Net 实体序列化的问题,但我没有任何运气找到一个真正解决我想做的事情的问题。
基本上,我需要一个 ADO.Net 实体的非常简单的、浅的 JSON 或纯对象表示。目的是记录变更;即,当要更改记录时,我想在“之前”和“之后”获取其数据的副本,并记录更改。
我不希望考虑任何导航、复杂或其他属性;只是实体的标量属性。如果我错过了一些只会在特殊情况下出现的数据,那很好——只是尝试做一个粗略的日志。理想情况下,我的最终代码应如下所示:
Employee emp = db.Employees.First();
string oldRecordJSON = MySerializer.serialize(emp);
emp.Name = "Fred";
db.saveChanges();
string newRecordJSON = MySerializer.serialize(emp);
ChangeLog.logDBChange("Employees", emp.ID, oldRecordJSON, newRecordJSON, DateTime.Now);
...任何快速简便的实施方法MySerializer.serialize
?
谢谢!