当从某个表(让我们称之为 STORAGE_INFO)中删除任何记录时,必须删除磁盘中的其他数据。任何人都可以提供示例(如果可能的话)如何指定自己的 DELETE 操作吗?像这样的事情:
DBSet<STORAGE_INFFO>.ONDELETE+= CUSTOM_FUNCTION
CUSTOM_FUNCTION()
{
BASE.DELETE();
DELETE_DISK_CONTENT();
}
最佳答案
您可能正在寻找 ObjectContext.SavingChanges
event
如果您使用整个重载迭代调用 context.ObjectStateManager.GetObjectStateEntries(EntityState.Deleted)
方法的结果,您将能够检测到 ObjectContext
保存了一些更改。
查看 MSDN 文章中的示例代码(这是如何实现目标的一个很好的示例!):
原发帖者说:
this is pretty.But where can I find this event in DBContext class?
将DbContext
向上转换为IObjectContextAdapter
:
((IObjectContextAdapter)dbContext).ObjectContext.SavingChanges += ...
关于c# - Entity Framework : own ondelete action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16004002/