0
我意识到已经发布了很多有关ADO.Net实体序列化的问题,但是我没有找到一个真正解决我想做的事情的运气。ado.net实体的裸骨骼浅序列化
基本上,我需要一个真正的骨骼,浅层JSON或ADO.Net实体的简单对象表示。目的是改变记录;即当记录将要改变时,我想在“之前”和“之后”之间截取其数据的副本,并记录更改。
我不想要考虑任何导航,复杂或其他属性;只是实体的标量属性。如果我错过了一些只会出现在特殊情况下的数据,那很好 - 只是试着做一个粗略的日志。理想的情况是我最后的代码应该是这个样子:
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
?
谢谢!
真的希望有一些完全一致的东西;我对这个项目的压缩时间非常紧迫,只需要一个快速而又脏的解决方案(不一定是最好的解决方案)。 – DanM 2012-04-23 16:30:29
转换器可能不够快速,但第一部分是。创建一个类来保存数据,创建一个对象,用数据填充它,然后序列化它。这是一份30秒的工作。 – 2012-04-23 16:31:46
或者只是序列化从数据库中返回的对象。你已经有一个我看到的Employee对象。只需将它传递给我在我的答案中概述的序列化程序。 – 2012-04-23 16:33:28