实体框架核心过滤器 DbSet

Tho*_*ann 4 .net c# entity-framework asp.net-core

在 Entity Framework Core 中是否可以自动过滤DbSet<TEntity>a DbContext?我正在寻找为 EntityFrameworkCore实现类似的东西。我想IQueryable<TEntity>在通过DbSet<TEntity>.

小智 5

你可以看看下面的链接。

https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-2.0#model-level-query-filters

例子

public class BloggingContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }

    public int TenantId { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Post>().HasQueryFilter(
            p => !p.IsDeleted
            && p.TenantId == this.TenantId );
    }
}
Run Code Online (Sandbox Code Playgroud)