如何在大多数时间轻松过滤EF DbSet?

时间:2017-10-24 17:39:16

标签: entity-framework filtering

我的数据库中有Buildings的集合。到目前为止,所有我需要跟踪的建筑物都是活跃的,可以这么说。但是,现在需要包括一座已被拆除但不再存在的建筑物。将名为Decommissioned的可为空的DateTime属性添加到Building类以跟踪建筑物何时离线时,似乎是明智的。

我的绝大多数应用程序只需从DbContext中获取所有建筑物的整个集合即可获取建筑物。向每个实例添加额外的dbcontext.Buildings.Where(b => b.Decommissioned == null)检查会很麻烦,因此在IDbSet级别进行过滤会很不错,但我仍然需要这些退役的建筑物在某些情况下显示,例如拉起居民&#39租约的历史。

这个问题很大程度上归结为,我怎样才能让dbContext.Buildings的默认行为只是为了让我只使用非退役的建筑物,但仍然要求DB以特殊的方式专门 include

1 个答案:

答案 0 :(得分:0)

经过几天探索可能的解决方案后,我无法完成我想要的工作,我最终找到了EntityFramework.DynamicFilters package,它完全符合我的需要,并且实际上打开了一扇门。一堆新的可能性。