微软中国MSDN 点击上方 蓝字关注我们
有的时候 , 你需要动态构建一个比较复杂的查询条件 , 传入数据库中进行查询 。 而条件本身可能来自前端请求或者配置文件 。 那么这个时候 , 表达式树 , 就可以帮助到你 。 本文我们将通过几个简短的示例来了解如何完成这些操作 。
微软MVP实验室研究员
文章图片
俞坤 Justin Yu
微软MVP , Dapr中文文档译制小组成员 , 运营有公众号:newbe36524的技术专栏 。
主要从事.net服务端开发 , Blazor浏览器扩展开发两个月半练习生 。
你也可能接到过这些需求:
文章图片
从模型进行查询
文章图片
基于配置查询
今天我们看看表达式树如何实现这些需求 。
Where当中可以传入固定的条件
以下是一个简单的单元测试用例 。 接下来 , 我们将这个测试用例改的面目全非 。
由于是 Queryable 的关系 , 所以Where当中的其实是一个表达式 , 那么我们把它单独定义出来 , 顺便水一下文章的长度 。
Expression 右侧是一个 Lambda, 所以可以捕获上下文中的变量 。
这样你便可以把 minValue 和 maxValue 单独定义出来 。
于是乎你可以从其他地方来获取 minValue 和 maxValue 来改变 filter 。
那既然这样 , 我们也可以使用一个方法来创建 Expression 。
推荐阅读
- 星链|石豪:在太空,马斯克和美国当局是如何作恶的
- 地面|全程回顾神舟十三号航天员乘组圆满完成第二次出舱任务
- 人物|马斯克谈特斯拉人形机器人:有性格 明年底或完成原型
- 测试|图森未来完成全球首次无人驾驶重卡在公开道路的全无人化测试
- AMD|AMD 350亿美元收购赛灵思交易完成时间推迟 预计明年一季度完成
- 识别|天津滨海机场RFID行李全流程跟踪系统完成建设 行李标签识别成功率可提升至99%
- 建设|5G信号全覆盖,冬奥会各赛区通信基础设施建设全部完成
- HONOR|荣耀Magic V已完成3C认证 支持66W快充
- IT|中国重汽:氢能源产品的核心布局和整车集成开发已经全面完成
- 模拟|(图文+视频)C4D野教程:Windows11的壁纸动效是如何制作的?