Entity.GetModifiedMembers() を使用して、エンティティの更新された値をログに記録しています。ただし、ルックアップ値があるため、変更されたメンバーは関連するルックアップ ID として表示されます。
ログ ビューから顧客が見るビューをできるだけユーザー フレンドリにするために、ID の代わりに更新されたプロパティの「名前」の値を取得したいと考えています。
例:
//Entities
public class User
{
Id { get; set; }
Name { get; set; }
FacultyId { get; set; }
}
public class UserFaculty
{
Id { get; set; }
Name { get; set; }
}
//Update Operation
public UpdateSomething
{
var user = GetUser();
user.FacultyId = SomeFacultyId;
//Log operation
Log(Entity.User.GetModifiedMembers());
Entity.SubmitChanges();
}
ログ ビュー:
Updated Entity | Updated Field | Original Value | New Value
User FacultyId 3 SomeFacultyId
上記のビューの代わりに、以下のようなビューが必要です。
Updated Entity | Updated Field | Original Value | New Value
User FacultyId OldFacultyName SomeFacultyName
私は提案を受け入れます。この時点以降の正確な方法を尋ねているわけではありません。最適でない点がある場合は、間違っている点をすべて聞いてください。