現時点では、[context] .SubmitChanges()でエンティティの古い値を見つける方法を探しています。
私が知る限り、新しい値だけが表示されます。エンティティの古い値を取得するために、データベースに対してクエリを実行する必要が本当にありますか?
GertArnoldによる解決策:
public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
{
// Get the changeset
ChangeSet changeSet = this.GetChangeSet();
// Put the updated objects into a IEnumerable
IEnumerable<object> updatedEntities = changeSet.Updates;
foreach (var entity in updatedEntities.Where(entity => AuditTypes.Contains(entity.GetType())))
{
var old = this.GetTable(entity.GetType()).GetModifiedMembers(entity);
// Do something with the old values
}
// Save the changes
base.SubmitChanges(failureMode);
}