2010-12-03 16 views
0

変更されたプロパティを追跡して監査する方法が必要です。 私が変更されプロパティが実際に変更されていない場合、それは報告していること、私が気づいたと私はコード生成とEF4を使用しています私が変更されたプロパティEF4は、プロパティが実際に変更されたかどうかをどのように判断しますか?

//Get only Modified Customer entries 
    var modifiedCustomerOses = context.ObjectStateManager 
    .GetObjectStateEntries<Customer>(EntityState.Modified) 
    .ToList(); 

を取得SaveChangesメソッドをフックしています。 プロパティ "EG" CustomerName "が" John "に設定されていて、更新を行うときに名前を変更しませんが、私はします EntityCustomer.Name = customerDto.Nameと名前はまったく同じです。

私は、生成されたコードを見ていると(名前==値)// propertyNotchangedのdont raiseevent場合EFプロパティは

のようなチェックを行うかどうかを確認することはできません。

提案がありますか?プロパティが実際に変更されたかどうかをEF4がどのように判断するのか知っていますか?

おかげ

答えて

1

追跡がエンティティレベルではなく、プロパティレベルで行われます。
プロパティが変更された場合、より適切なトレース方法は、OnPropertyChanged partial methodを使用することです。
変更されたプロパティを保持するカスタムコードを作成するだけです。

+0

私はそれが事実だろうと思った。 – user9969

関連する問題