DataFilterActivity
分类: 通用步骤
命名空间: CMS.Plugin.FlowManagement.Domain.FlowBusiness.Activitys
基类: ActionActivity
模块: FlowManagement.Domain
概述
DataFilterActivity(数据过滤)是用于在流程中对数据集合进行过滤的节点。它继承自 ActionActivity,使用 Lambda 表达式进行数据筛选,支持 Skip 和 Take 分页操作。
配置说明
| 属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| DataSourceContext | string | 是 | DataFilter_SourceContext_Value | 读取数据的流程上下文键名 |
| LambdaExpressionString | string | 否 | - | Lambda 表达式字符串 |
| Skip | int | 否 | 0 | 跳过的元素数量 |
| Take | int | 否 | 10 | 返回的元素数量 |
| DataResultContext | string | 是 | DataFilter_ResultContext_Value | 筛选结果写入的流程上下文键名 |
流程上下文
输入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| {DataSourceContext} | IEnumerable | 要过滤的数据集合 |
输出参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| {DataResultContext} | List<object> | 过滤后的数据集合 |
使用示例
{
"Type": "DataFilterActivity",
"Name": "过滤产品数据",
"Alias": "FilterProducts",
"DataSourceContext": "ProductList_Value",
"LambdaExpressionString": "obj.Price > 100",
"Skip": 0,
"Take": 50,
"DataResultContext": "FilteredProducts_Value"
}
注意事项
- 💡 使用 System.Linq.Dynamic.Core 解析 Lambda 表达式
- 💡 Lambda 表达式中使用 obj 作为参数名
- ⚠️ 数据源必须是可枚举类型
相关节点
- CsvReadActivity: CSV 读取节点
- TextTemplateActivity: 文本模板节点
更新历史
| 日期 | 版本 | 说明 |
|---|---|---|
| 2025-11-28 | 1.0 | 初始版本 |
本文档最后更新时间: 2025-11-28