1

DB レコードにユーザー変更の履歴を保存したい。レコードの編集 (たとえば、yyyy/dd/mm" で user1 によって FirstName フィールドの値が 'n' から 'x' に変更された)、レコードの削除、および ... など

の変更。EF コードファーストでこれを実装する方法を提案してください。

編集後:
どちらが優れていますか?
1.1 つのテーブルを作成して、すべてのテーブルのログを保存します
2.データベース内のテーブルごとにテーブルを作成します

4

1 に答える 1

2

SaveChangesメソッドをオーバーライドします。

SaveChangesメソッドで、ObjectStateManager.GetObjectStateEntriesを使用してエントリをループします

次に、ObjectStateEntry CurrentValues.DataRecordInfo.FieldMetadata []。FieldType.Nameとentry.CurrentValuesを使用して、名前と値のペアを取得します

于 2012-08-12T16:23:26.423 に答える