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