【发布时间】:2015-03-14 01:21:02
【问题描述】:
我遇到了以下问题:
在这个项目中,注册表不应该被物理地(从数据库中)删除,因此我在每个代表数据库中的表的类上创建了一个名为 deleted 的 bool 属性。
在删除的情况下,该属性将变为 true,并且在任何情况下都只能由数据库内的 SQL 查询访问。
我使存储库等始终返回带有query.where(x => !x.Deleted) 的IQueryables,但是如何在EF“延迟加载”的Collections 上执行此操作?
例如,当我得到一个 Person 并且它有一个 ICollection 时,它总是填充有链接到该 Person 的所有对象,我总是必须手动过滤已删除的对象。
有没有办法告诉 EF 在每次延迟加载中都应该使用自定义 where 子句?
【问题讨论】:
标签: c# entity-framework