C# 代码解析:使用 WhereIf 和 AsyncExecuter 进行任务查询
这段代码是一个用于查询任务的功能。首先,它从 Repository 中异步获取一个 Queryable 对象,并进行了一系列的筛选操作。\n\n首先,使用了一个条件判断函数 WhereIf,如果 input.taskclassification 等于 Taskclassification.EquipmentModification,那么筛选条件为 x.taskState == TaskState.Pending && x.taskclassification == Taskclassification.EquipmentModification;否则,筛选条件为 x.handlerId == input.userId && x.taskState == TaskState.Pending && (input.taskclassification == Taskclassification.ALL || x.taskclassification == input.taskclassification)。\n\n接下来,如果 input.FilterText 不为空,则对查询结果再进行一次筛选,筛选条件为 x.SBDM、x.taskName 或 x.initiateManUnitName 中包含 input.FilterText 的记录。\n\n然后,通过调用 AsyncExecuter.LongCountAsync 函数,获取查询结果的总记录数。\n\n接着,对查询结果进行排序、分页,并通过调用 AsyncExecuter.ToListAsync 函数将结果转换为列表。\n\n最终,将查询结果赋值给变量 items,供后续使用。
原文地址: https://www.cveoy.top/t/topic/pxDP 著作权归作者所有。请勿转载和采集!