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

51次阅读
没有评论

共计 973 个字符,预计需要花费 3 分钟才能阅读完成。

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

需求

配合 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 查询的实现方式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计973字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)