Reputation: 35
I want to use scope (like scope on rails, below) on .NET core.
scope :published, -> { where(published: true) }
Does .NET Core have scopes like rails?
Or what is best practice to default query on netcore model, like scope on rails?
Upvotes: 2
Views: 1050
Reputation: 64259
You can use EF Core's Global Query Filters to achieve this.
From the doc examples:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Post>().HasQueryFilter(p => !p.IsDeleted);
}
To disable it on a single query, use .IgnoreQueryFilters()
Linq extension method.
blogs = db.Blogs
.Include(b => b.Posts)
.IgnoreQueryFilters()
.ToList();
Upvotes: 2