我们有一个多层应用程序,其中所有存储库都基于(本土)GenericRepository 基类(其中 T 是模型中的实体),它公开了 GetContext()、GetObjectSet() 等方法. 我们允许从这里继承的存储库访问上下文,因为它们需要调用 Include(),因为我们通过 WCF 服务向上传递数据,因此需要急切地加载所有相关实体。
我们所有的实体都实现了一个具有 Active bool 属性的接口,我们想要做的是拦截查询的执行,并对 Active 属性进行过滤,以便任何查询只返回设置为 true 的实体。
这可以做到吗?在基于 EF 构建的 Lightswitch 中,您可以捕获一个事件,该事件在查询执行的深度被触发,并允许您执行此类过滤。我在 EF 本身中找不到任何允许这样做的东西。
有人有什么想法吗?谢谢