使用DBFirstApproach进行SoftDelete

时间:2019-04-15 19:41:46

标签: entity-framework ef-database-first

如何在EF6 DBFirst中过滤模型或全局级别的软删除? 使用Code First和EFCore可以很容易地做到这一点,但是如果使用数据库优先的方法,我将无法在没有代码黑客的情况下做出正确的解决方案。我尝试过的几件事。

  1. 执行此操作时,请为“已删除”记录添加条件映射过滤器,该如何更新表中列的值。我可以通过在保存上下文的更改时编写一些代码来执行此操作,并执行预定义的更新查询来代替实体状态删除,但是我不喜欢这种方法。如果我编写了一个存储过程,然后将其用于实体的功能映射,那么我们可以做到这一点,但问题是我需要对所有三个映射(插入,更新,删除)进行映射,否则它将无法正常工作,因为我们的模型发生了变化,不想进行这种映射,因为它工作量太大且难以维护。

  2. 我已经尝试过EF Plus,但是它没有按照我期望的方式工作。这不是一个选择

  3. 我不想执行触发器或任何SQL解决方案。我知道有几种方法可以实现这一目标。

0 个答案:

没有答案