これに関連するSEに関する投稿をたくさん見ましたが、満足のいく質問に答えたものはありません。(実際のコード例で)これに答える投稿がある場合は、その方向に私を向けてください。
オブジェクトを保存するときに、ログに情報を書き込む必要があります。元の値と新しい値を知る必要があります。これは親オブジェクトにとって非常に簡単であり、変更された子オブジェクトの新しい値を取得することもかなり簡単です。課題は、子オブジェクトの元の値を取得することです。
たとえば、ユーザーはドロップダウンリストを介して子オブジェクトを変更します。これにより、親の外部キーの値が変更されます。保存するときは、外部キーの値ではなく、変更されたエンティティのテキストによる説明(ToString()値またはその他の値)をログに書き込む必要があります。
ObjectStateEntryには親の現在の値と元の値が含まれていますが、変更された子オブジェクトの現在の値と元の値を取得するにはどうすればよいですか?
これは可能であるはずのことのようですが、達成するのが非常に難しいか、Microsoftの設計チームによって見落とされています。
助けてくれてありがとう。