.net Core 2.0全局过滤器(用于IsDeleted列)

时间:2018-08-29 11:42:45

标签: c# entity-framework asp.net-core entity-framework-core global-filter

我想为按实体框架删除的行添加全局过滤器。我通过DbContext类中的这段代码实现了这一点。

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Role>().HasQueryFilter(p => !p.IsDeleted);
    modelBuilder.Entity<User>().HasQueryFilter(p => !p.IsDeleted);
    modelBuilder.Entity<Foo>().HasQueryFilter(p => !p.IsDeleted);
    modelBuilder.Entity<Bar>().HasQueryFilter(p => !p.IsDeleted);
    .
    .
    .
}

但是对于每个表,我都会向OnModelCreating方法添加新行。我该如何对每个这样的表使用一行?

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<T>().HasQueryFilter(p => !p.IsDeleted);
}

0 个答案:

没有答案