【问题标题】:Archive data based on conditions根据条件归档数据
【发布时间】:2015-04-11 07:34:11
【问题描述】:

我们一直在使用实体框架代码优先方法和 Fluent Api,并且有这样的要求,即具有多个导航属性的实体和可能有大量条目。

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

    public class ProcessEntity
    {
        //Other properties and Navigation properties

        public bool IsInProcess { get; set; }
    }

我一直在尝试做的是,让另一个表可以是映射表或仅包含 IsInProcess 属性设置为 true 的 ProcessEntity 项的东西,即,此表提供活动的 ProcessEntities在这个过程中。

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

是否有其他解决方案或替代设计理念可以满足此要求?

【问题讨论】:

    标签: c# entity-framework ef-code-first


    【解决方案1】:

    考虑使用索引。 您的第二个表是索引的作用。 让数据库完成它的工作。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-08
      • 2022-01-25
      • 2021-10-21
      相关资源
      最近更新 更多