实体框架默认情况下排除存档的记录

时间:2019-07-08 01:35:08

标签: c# database entity-framework entity-framework-core

如何默认配置实体框架以排除存档记录?或者换句话说,添加一个应用于表的过滤器或条件,该过滤器或条件将全局影响表的所有用法。

1 个答案:

答案 0 :(得分:2)

应用全局查询过滤器是一种方法(从谷歌搜索中并不明显)。可以根据Microsoft文章https://docs.microsoft.com/en-us/ef/core/querying/filters

在DbContext内部完成此操作

即:

protected override void OnModelCreating(ModelBuilder modelBuilder) {
    // ...
    modelBuilder.Entity<Category>().HasQueryFilter(x => x.Archived == false);
    //...
}

这样做的好处是,使用者可以忽略这些全局查询过滤器(如本文中所述)。