吴晓阳
发布于 2025-12-24 / 1 阅读
0

osharp keyword

        // 提取并移除Keyword规则,因为CodeCreater实体中没有Keyword属性
        var keyword = "";
        if (request.FilterGroup != null && request.FilterGroup.Rules != null)
        {
            var keywordRule = request.FilterGroup.Rules.FirstOrDefault(p => p.Field.ToLower() == "Keyword".ToLower());
            if (keywordRule != null)
            {
                request.FilterGroup.Rules.Remove(keywordRule);
                keyword = keywordRule.Value?.ToString()?.Trim() ?? "";
            }
        }

        Expression<Func<CodeCreater, bool>> predicate = FilterService.GetExpression<CodeCreater>(request.FilterGroup);
        
        // 如果有关键词,则在Code和Name字段中搜索
        if (!keyword.IsNull())
        {
            predicate = predicate.And(p => p.Code.Contains(keyword) || p.Name.Contains(keyword));
        }