根据条件存档数据

问题描述:

我们一直在使用实体框架代码第一种方法和Fluent Api,并且具有此要求,一个具有多个导航属性的实体以及可能有多个条目。根据条件存档数据

该实体反映了一个进程的数据,一个字段捕获该实体是否在进程中处于活动状态。我为此提供了一个例子。

public class ProcessEntity 
    { 
     //Other properties and Navigation properties 

     public bool IsInProcess { get; set; } 
    } 

我一直试图做的是,有另一个表可能是一个映射表或东西,将只包含那些IsInProcess属性设置为true,即在ProcessEntity项目,该表提供在此过程中处于活动状态的ProcessEntities。

这种隔离背后的想法和想法是,只有在仍然在进行的项目上生成很多查询和报告,并且每次使用Where子句查询整个表格都会成为性能瓶颈。如果我错了,请纠正我。 我想过有一个映射表,但条目必须根据条件手动添加和删除。

是否有任何其他解决方案或替代设计的想法?

考虑使用索引。 你的第二张表是索引会做的。 让数据库完成其工作。

鉴于布尔值不是一个很大的区别,日期或类似索引的一部分也可能是有用的。

例如How to create index in Entity Framework 6.2 with code first