【发布时间】:2018-11-30 01:41:29
【问题描述】:
我有一个JobsController,它有一个GetJobs 方法,如下所示:
[HttpGet]
... Task<IActionResult> GetJobs([FromQuery] Pagination urlQuery)
... return await _dbContext.Jobs
.AsNoTracking
.Where(x => x.BankId == user.BankId)
.Skip(urlQuery.Limit *(urlQuery.Offset -1))
.Take(urlQuery.Limit)
.ToListAsync()
我已经成功实现了分页功能:.../jobs?limit=25&offset=1
我尝试创建一个过滤器类
...
public int BankId {get; set;}
public bool Archived {get; set;}
...
public bool HaveFilter => !string.IsNullOrEmpty(BankId.ToString()) ||
!string.IsNullOrEmpty(Archived.ToString())
但是当尝试将它与分页一起使用时它会变得混乱。
实现服务器端过滤的最佳方法是什么,以便我可以使用 .../jobs?limit=25&offset=1&bankId=3&archived=true 之类的东西?
【问题讨论】:
标签: entity-framework linq rest asp.net-core asp.net-core-webapi