C# 自定义where子句扩展,默认值为EF Core 5.0.3

C# 自定义where子句扩展,默认值为EF Core 5.0.3,c#,entity-framework-core,C#,Entity Framework Core,我在每一个查询中都添加了这个,我忍不住想有一种方法,我可以做一个自定义where扩展,让它作为我查询的默认值?还是我想得太多了 我说的是isActive和isDeleted,这是我的软删除列 我正在使用EF Core 5.0.3,若有什么不同,对我有什么好处我不知道,这只是一行,但我觉得分配的重复代码被减少了。或者至少是一种更干净的执行方式?这是我将要查询的每一个类 public async Task<IActionResult> ClubRoles() { return V

我在每一个查询中都添加了这个,我忍不住想有一种方法,我可以做一个自定义where扩展,让它作为我查询的默认值?还是我想得太多了

我说的是
isActive
isDeleted
,这是我的软删除列

我正在使用EF Core 5.0.3,若有什么不同,对我有什么好处我不知道,这只是一行,但我觉得分配的重复代码被减少了。或者至少是一种更干净的执行方式?这是我将要查询的每一个类

public async Task<IActionResult> ClubRoles() {
    return View(await _context.ClubUsers.Where(w => w.isActive == true && w.isDeleted == false).ToListAsync();    
}
公共异步任务ClubRoles(){
返回视图(wait_context.ClubUsers.Where(w=>w.isActive==true&&w.isDeleted==false).toListSync();
}

使用全局查询过滤器非常简单:

你的案子是教科书用法

modelBuilder.Entity<Post>().HasQueryFilter(p => !p.IsDeleted);

全局查询过滤器和编辑,使我的代码格式更糟糕wtf我的代码格式在现实世界中完全合法,并被许多合作实体使用。没有任何内容表明帖子必须位于代码格式化程序的可视区域,因此滚动条存在。没有,但让您的代码一目了然对任何人都没有坏处。最后,它会帮助你自己。如果有人想让你的问题更具可读性,你会更加感激。第一个版本,你的版本,充满了拼写错误。当我看到这样的问题时,我不想比提问者付出更多的努力。
blogs = db.Blogs
    .Include(b => b.Posts)
    .IgnoreQueryFilters()
    .ToList();