参照-EntityFrameworkでエンティティの元の値を取得する方法は?-EFのエンティティの元の値を抽出しようとしました。ただし、ObjectStateManager.GetOBjectStateEntryは、エンティティの変更された値を提供します。私は何が欠けていますか?
多層環境でEF4.0(POCOエンティティ)を使用しています。
public bool Update(IMessage objMessage)
{
object ob = objMessage.GetMaster();
appSancAdvice _entity = ob as appSancAdvice;
using (var context = new BISEntities())
{
context.appSancAdvices.Attach(_entity);
ObjectStateEntry objectState = context.ObjectStateManager.GetObjectStateEntry(_entity);
objectState.ChangeState(System.Data.EntityState.Modified);
// this is giving the modified value of _entity
var originalValues = context.ObjectStateManager.GetObjectStateEntry(_entity).OriginalValues["sancstatus_id"];
int _i = context.SaveChanges();
return (_i > 0) ? true : false;
}
}