c# - Entity Framework : own ondelete action

标签 c# entity-framework code-first

当从某个表(让我们称之为 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/

相关文章:

c# - 单击按钮为计时器添加时间

c# - 动态创建 GroupBy 并使用 EF 选择

c# - 使用 MySQL 时,为什么 Entity Framework 4 试图将长整数转换为小数?

entity-framework - EF 代码优先 : IValidatable Object not validating

Sitecore:Glass Mapper 代码优先

c# - 如何在 C# 中读取已编译的资源 (.res) 文件?

c# - c#中的\uffff是什么

c# - 以编程方式在 Sharepoint 中实例化 Web 部件页面

asp.net - 元数据集合中不存在具有身份的成员。参数名称: identity

asp.net - 使用通过 React GUI 触发的 Entity Framework 向数据库添加新条目时重复条目