如何解决通用搜索和通用排序Asp.net核心角度
我有三种模型:动物,狗和猫。
public class Animal
{
}
public class Dog : Animal
{
}
public class Cat: Animal
{
}
有两个控制器(DogController
和CatController
)。
在每个控制器中,都有一个Search
动作。
这些操作会根据参数返回搜索结果。
public class DogController : Controller
{
public DogController()
{
}
public async Task<IActionResult> Index()
{
}
[Httpost]
public async Task<IList<MainBaseEntityViewModel>> Search(int pageNumber,int pageSize,Object objCreteriaSearch,Object CreteriaOrderBy)
{
...
// Search List of Dogs according to the criteria in the parameter objCreteriaSearch and ordered according to the parameter objCreteriaOrderBy
List<DogViewModel> dogs = new List<DogViewModel>();
dogs = (from item in _context.Dog
select new DogViewModel
{
Dog_ID = data.Dog_ID,Dog_Name = data.Dog_Name
}).ToList();
return dogs.Cast<Animal>().ToList();
}
}
objCreteriaSearch是一个包含搜索条件的对象,而CreteriaOrderBy是一个包含排序条件的对象
public objCreteriaSearch
{
public int pageNumber { get; set; }
public int pageSize { get; set; }
public string dogId { get; set; }
public string dogName { get; set; }
}
public objCreteriaOrderBy
{
public string sortColumn{ get; set; }
public bool? descOrder { get; set; }
}
如何根据objCreteriaSearch
和objCreteriaOrderBy
参数创建动态通用搜索,
如果在对象objCreteriaSearch中定义了搜索参数,则应将其添加到查询中;如果定义了排序参数,则还应将其添加到查询中。因此查询应该是动态的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。