ADO.NET Entity Framework的实体侦听器是否有“after-save”或“before-delete”?如果不是,我怎么能实现它们?
答案 0 :(得分:1)
这些事件可在上下文中找到。
http://msdn.microsoft.com/en-us/library/cc716714.aspx
更新19/12/18
好的,wayback machine协助我提醒我现在可以找到的原始内容here。虽然这是更新的内容,但它仍然与原始问题相关。
答案 1 :(得分:1)
要添加对保存之后,删除之前等事件的支持,有几个选项。
对实体值的更改 如果要处理特定实体中值的更改,请创建一个扩展实体的新类并扩展OnXXXChanged函数,其中XXX是您要监视的属性。
public partial class MyEntity
{
//Before value changes
partial void OnMyPropertyChanging(int value)
{
//Your code here
}
//After value changes
partial void OnMyPropertyChanged()
{
//Your code here
}
}
实体保存之前(已添加/已编辑/已删除实体)
public partial class MyContext
{
partial void OnContextCreated()
{
this.SavingChanges += new EventHandler(OnSavingChanges);
}
private void OnSavingChanges(object sender, EventArgs args)
{
//use ObjectStateManager for entity states
}
}