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

网友投稿 459 2023-12-10 00:01:16

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

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

需求

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

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

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

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

具体实现的方式

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

JSON:格式

filterRules: [ {field:field,op:op,value:value},{field:field,op:op,value:value},]

通常的做法是一个一个判断加条件

 View Code

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

 View Code

 配合使用的代码

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

 查看订单的销售情况,条件 金额,国家,日期

 调用查询方法

 客户查询 根据国家和城市查询

 客户的销售情况,金额和数量

 复用上面的定义的查询方法

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:生态银行和开放银行,探索金融创新的未来
下一篇:转型开放银行,金融行业向数字化转变的关键
相关文章