C# 我是否可以强制Entityramework执行更新,即使该记录随后被删除?

C# 我是否可以强制Entityramework执行更新,即使该记录随后被删除?,c#,.net,sql,entity-framework,entity,C#,.net,Sql,Entity Framework,Entity,每当从EntityFramework中的上下文中删除特定对象时,我都希望执行Db更新 但由于它最终被删除,EF不会在数据库中执行更新 我是否可以强制执行EF以真正执行Db更新,然后删除实体 谢谢 PS:我想在删除之前强制更新的原因是Db上有一个触发器,它可以帮助我获取一些信息供以后使用。触发器和EF不是一个好的组合,因为触发器在代码中基本上是不透明的,并使某人在删除之前进行更新,以确保触发特定的触发器令人困惑 不太老套的解决方案: 如果您必须使用触发器(即DB由依赖该触发器的其他应用程序使用),

每当从EntityFramework中的上下文中删除特定对象时,我都希望执行Db更新

但由于它最终被删除,EF不会在数据库中执行更新

我是否可以强制执行EF以真正执行Db更新,然后删除实体

谢谢


PS:我想在删除之前强制更新的原因是Db上有一个触发器,它可以帮助我获取一些信息供以后使用。

触发器和EF不是一个好的组合,因为触发器在代码中基本上是不透明的,并使某人在删除之前进行更新,以确保触发特定的触发器令人困惑

不太老套的解决方案:

如果您必须使用触发器(即DB由依赖该触发器的其他应用程序使用),请修改您的触发器或创建一个新触发器,该触发器在删除时触发并保存所需信息


将触发代码封装在一个方法中,并确保该方法用于应用程序的所有更新和删除。

如何更改默认删除功能以实现我自己的功能:Colin,我可以覆盖该行为,并可能获得标记为删除的特定条目;我可以将它们标记为已修改,调用SaveChanges()。并将其重新标记为删除。和SaveChanges()-但我不确定两次调用SaveChanges是否会产生负面影响..为什么不创建一个
DELETE
触发器,因为这才是您真正要做的?Bcoz,我需要的数据只有通过更新写入Db才能实现。我认为调用SaveChanges两次没有问题,例如,这是处理数据库异常的标准方法。另一种方法是在存储过程中: