Sy.ExpressionBuilder如何操作超简易的集成表达式树查询组件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2157个文字,预计阅读时间需要9分钟。
Sy.ExpressionBuilder是一款基于表达式树集成的查询组件。设计初衷简洁明了,旨在减少代码量,使查询业务更加模块化。可通过NuGet轻松获取组件。在查询实现中,仅需引用查询实体即可。
Sy.ExpressionBuilder是一套依赖于表达式树上的集成的查询组件。设计的初衷没别的,就为了少写代码,让查询业务可以变得更加模式化。可以从nuget 获取到该组件。
来到查询,查询实体需要继承 QueryPageModel或者QueryModel,从名字也基本可以看出来,一个用于分页,一个无分页,你可以根据自己需求选用哪个方式,如下我选了带分页的方式。
public partial class AllManagerDto:QueryPageModel
这样这个查询实体就拥有了我们这个插件的大多数功能。
属性名称约束
为了方便处理各种属性类型,我做了一些属性名称的约定。
时间范围查询 =>属性名称 以 Start,End 结尾 ,生成条件为 >= 和<=。
数字范围查询 =>属性名称 以 Min,Max 结尾,生成条件为 >= 和<=。
字符串查询 => 名字需要和表字段一致,生成条件为Contains。
编号查询必须是以Id结尾,不然如果编号为字符串的话,查询方式会以Contains形式查询。
本文共计2157个文字,预计阅读时间需要9分钟。
Sy.ExpressionBuilder是一款基于表达式树集成的查询组件。设计初衷简洁明了,旨在减少代码量,使查询业务更加模块化。可通过NuGet轻松获取组件。在查询实现中,仅需引用查询实体即可。
Sy.ExpressionBuilder是一套依赖于表达式树上的集成的查询组件。设计的初衷没别的,就为了少写代码,让查询业务可以变得更加模式化。可以从nuget 获取到该组件。
来到查询,查询实体需要继承 QueryPageModel或者QueryModel,从名字也基本可以看出来,一个用于分页,一个无分页,你可以根据自己需求选用哪个方式,如下我选了带分页的方式。
public partial class AllManagerDto:QueryPageModel
这样这个查询实体就拥有了我们这个插件的大多数功能。
属性名称约束
为了方便处理各种属性类型,我做了一些属性名称的约定。
时间范围查询 =>属性名称 以 Start,End 结尾 ,生成条件为 >= 和<=。
数字范围查询 =>属性名称 以 Min,Max 结尾,生成条件为 >= 和<=。
字符串查询 => 名字需要和表字段一致,生成条件为Contains。
编号查询必须是以Id结尾,不然如果编号为字符串的话,查询方式会以Contains形式查询。

