【问题标题】:Is there global query SORTERS like query FILTERS in EF coreEF核心中是否有像查询过滤器这样的全局查询排序器
【发布时间】:2021-03-09 12:00:33
【问题描述】:

是否有类似 IHaveOrder 接口和实现它的所有实体(类)在 getall() 时默认排序

【问题讨论】:

  • 我不知道。有全局查询过滤器,但没有“全局查询排序器”。 :) 但是,如果您使用任何类型的抽象(例如 DbContext 上的存储库,或者只是公开 IQueryable 而不是 DbSet),定义一个包含您希望作为默认排序的基本查询是微不足道的。您可以通过检查实体类是否实现接口以编程方式执行此操作。如果您对此有具体要求,可以提及它,然后它可能是答案的一部分。
  • 我明白为什么全局过滤器是有意义的,例如软删除……但排序不是更多的前端问题吗?
  • 我希望有像全局查询过滤器这样干净且更好的方法。感谢@Leaky 的建议。
  • 如果它能让代码更简单、更干净,为什么不@CaiusJard
  • Cleaner 是相当主观的,但我不确定从性能角度对 everything 进行排序是否明智..

标签: c# entity-framework-core aspnetboilerplate asp.net-boilerplate


【解决方案1】:

您可以在 DBContext 中实现:

public  class MyDbContext : DbContext
{
   public DbSet<MyEntity> MyEntities { get; set; }
   public IQueryable<MyEntity> MyOrderedEntities => MyEntities.OrderBy(...)
}

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    相关资源
    最近更新 更多