我想在.NET核心上使用范围(如下面的rails上的范围)。
scope :published, -> { where(published: true) }
.NET Core是否有像rails这样的范围? 或者在netcore模型上默认查询的最佳做法是什么,比如rails on scope?
答案 0 :(得分:1)
您可以使用EF Core' Global Query Filters来实现此目的。
来自doc示例:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Post>().HasQueryFilter(p => !p.IsDeleted);
}
要在单个查询中禁用它,请使用.IgnoreQueryFilters()
Linq扩展方法。
blogs = db.Blogs
.Include(b => b.Posts)
.IgnoreQueryFilters()
.ToList();