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
か?
ありがとう!