(私の悪い英語でごめんなさい)
ねえ、監査目的で、データベースで発生したすべての変更をログに記録する必要があります。エンティティを挿入または削除するときは簡単ですが、何かを更新するときは、変更されたプロパティと変更された値を保存する必要があります。私のドメイン サービスは DbDomainService です。どうすれば変更を取得できますか? 古い値を確認して自分で比較するには、データベースにアクセスする必要がありますか?
(私の悪い英語でごめんなさい)
ねえ、監査目的で、データベースで発生したすべての変更をログに記録する必要があります。エンティティを挿入または削除するときは簡単ですが、何かを更新するときは、変更されたプロパティと変更された値を保存する必要があります。私のドメイン サービスは DbDomainService です。どうすれば変更を取得できますか? 古い値を確認して自分で比較するには、データベースにアクセスする必要がありますか?
これを行うためのより洗練された方法 (たとえば、アスペクト コーディング技術の使用) がありますが、これを行った孤立したケースが 1 つあります。これは、更新の発生を許可するエンティティごとに、サーバー側での WCF RIA サービスの標準的な更新です。
public void UpdatePackingSlip(PackingSlip currentPackingSlip)
{
var BeforeUpdate_PackingSlip = this.ChangeSet.GetOriginal(currentPackingSlip);
//at this point you can compare the original values from the updated values, and capture
// whatever you want todo
オブジェクトをオブジェクト コンテキストに戻すコードを変更しないようにしてください。