0
我的要求是更新對象的UpdatedDate財產每當ObjectContext.SaveChanges
方法被調用,爲此我試圖附加事件處理程序的SaveChanges事件,我想找到正在更新和更新對象它的UpdateDate屬性,但我找不到找到正在更新的對象的方法。爲ObjectContext.SaveChanges事件事件處理
有什麼想法?我是否在做正確的事情來達到我的要求?
我的要求是更新對象的UpdatedDate財產每當ObjectContext.SaveChanges
方法被調用,爲此我試圖附加事件處理程序的SaveChanges事件,我想找到正在更新和更新對象它的UpdateDate屬性,但我找不到找到正在更新的對象的方法。爲ObjectContext.SaveChanges事件事件處理
有什麼想法?我是否在做正確的事情來達到我的要求?
你可以看看在ObjectStateManager
是這樣的:
private void context_SavingChanges(object sender, EventArgs e)
{
var context = (ObjectContext)sender;
var lst = context.ObjectStateManager
.GetObjectStateEntries(EntityState.Modified);
foreach(var item in lst)
{
var entity = item.Entity;
// TODO: set values here:
}
}
感謝了很多人!它非常有效!是否有任何預定義的方式來設置任何屬性的值?就像我想設置正在更新的對象的UpdatedDate值,或者反射是唯一的方法? – 2013-02-18 14:13:00
Np個:)我會suggets您展開需要有一個接口(也許'IUpdateEntity'或某事),你可以在你的循環使用更新的實體。是這樣的:'VAR實體= item.Entity作爲IUpdateEntity' – 2013-02-18 14:16:44
呀,這樣來到我的腦海但幸運的反射更容易滿足的要求:)現在一切工作真棒! – 2013-02-19 06:55:10