动态linq查询的实现方式是什么

这篇文章主要介绍“动态linq查询的实现方式是什么”,在日常操作中,相信很多人在动态linq查询的实现方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”动态linq查询的实现方式是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站-专业网站定制、快速模板网站建设、高性价比巴里坤哈萨克网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式巴里坤哈萨克网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖巴里坤哈萨克地区。费用合理售后完善,10年实体公司更值得信赖。

需求

  1. 配合EasyUI datagird filter实现多字段(任意字段)的筛选

  2. 根据业务需求筛选特定的状态或条件,如:查看结案的订单,最近30天的订单,查看属于我的订单.等等,这些逻辑是固定也是可以被重用,但又不想每次写相同的条件,那么下面我会给我的解决方案.

需求1只是一个偷懒的实现方式,因为datagrid自带这个功能,但又不想根据具体的需求来画查询条件,如果需求必须要再datagrid上面做一块查询条件的输入那目前只能在前端自己手工添加,在组织后传入后台,暂时不在这里讨论

需求2可能不太好解释,看完代码就自然理解为什么要这么做了,这么做的好处有哪些

具体实现的方式

动态linq查询的实现方式是什么

 默认情况下 datagrid 有几列就可以对这几列进行筛选,对于日期型的字段会采用between,选择2个时间之间进行筛选,数字类型会提供大于小于等符号选择,可以自行尝试,其原理是datagrid 会根据datagrid 头部输入的值生成一个Json字符串发送后台请求数据

JSON:格式

filterRules: [
{field:field,op:op,value:value},
{field:field,op:op,value:value},
]
  • 通常的做法是一个一个判断加条件

动态linq查询的实现方式是什么 View Code

  • 新的做法是动态根据field,op,value生成一个linq 表达式,不用再做繁琐的判断,这块代码也可以被其它项目使用,非常好用

动态linq查询的实现方式是什么 View Code

动态linq查询的实现方式是什么 配合使用的代码

  • 对于固定查询逻辑的封装和复用,当然除了复用还可以明显的提高代码的可读性.

动态linq查询的实现方式是什么 查看订单的销售情况,条件 金额,国家,日期

动态linq查询的实现方式是什么 调用查询方法

动态linq查询的实现方式是什么 客户查询 根据国家和城市查询

动态linq查询的实现方式是什么 客户的销售情况,金额和数量

动态linq查询的实现方式是什么 复用上面的定义的查询方法

到此,关于“动态linq查询的实现方式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文名称:动态linq查询的实现方式是什么
文章出自:http://hbruida.cn/article/jesgsp.html