实体框架:自己的ondelete操作
本文关键字:ondelete 操作 自己的 框架 实体 | 更新日期: 2023-09-27 18:09:02
当任何记录从某个表(让我们称之为STORAGE_INFO)中删除时,必须删除磁盘中的其他数据。谁能提供一个示例(如果可能的话)如何指定自己的DELETE操作?像这样:
DBSet<STORAGE_INFFO>.ONDELETE+= CUSTOM_FUNCTION
CUSTOM_FUNCTION()
{
BASE.DELETE();
DELETE_DISK_CONTENT();
}
您可能正在寻找ObjectContext.SavingChanges
事件
如果使用整个重载迭代调用context.ObjectStateManager.GetObjectStateEntries(EntityState.Deleted)
方法的结果,您将能够检测当ObjectContext
保存一些更改时哪些实体被删除。
查看MSDN文章中的示例代码(这是如何实现目标的一个很好的示例!):
- http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.savingchanges.aspx
原海报说:
这个很漂亮。但是在DBContext类中我在哪里可以找到这个事件?
将DbContext
向上转换为IObjectContextAdapter
:
((IObjectContextAdapter)dbContext).ObjectContext.SavingChanges += ...