【发布时间】:2014-11-14 07:24:23
【问题描述】:
我们的产品有一个 IsDeleted 标志,因此产品在删除时会保留在数据库中。 (它们只是被标记为已删除)
在查询服务器时总是检查已删除标志很烦人(其中 c.IsDeleted == False && ...)。有没有办法集中这个?在 DbContainer / Context 还是其他地方?
【问题讨论】:
-
您可以创建一个接口并将其应用于您的实体,因此您可以以通用方式过滤它们。但是,这不适用于子实体,您要么必须通过反射构建表达式以构建正确的查询,要么从内存中删除已删除的子实体。
-
我在这里发布了一个实体框架的软删除解决方案stackoverflow.com/a/18985828/150342
-
另一个选项是 DevForce EntityServerQueryInterceptor 使用 EntityQueryFilterCollection。
-
谢谢 Kim,这就是我要找的东西 :)
标签: c# entity-framework devforce