protected virtual string FormatReqRule(ReqRule rule) { var paramName = AddFilteringParam(rule.Value); if (rule.Operate == FilterOperate.StartsWith) { return $"{rule.Field} like '{paramName}%'"; } else if (rule.Operate == FilterOperate.EndsWith) { return $"{rule.Field} like '%{paramName}'"; } else if (rule.Operate == FilterOperate.Contains) { return $"{rule.Field} like '%{paramName}%'"; } else { var opCode = rule.Operate.ToOperateCode(); var vtype = rule.Value.GetType(); // 值类型 if (vtype == typeof(string)) { return $"{rule.Field} {opCode} '{paramName}'"; } else { return $"{rule.Field} {opCode} {paramName}"; } } }
protected virtual string FormatReqRule(ReqRule rule) { var paramName = AddFilteringParam(rule.Value, rule.Operate); switch (rule.Operate) { case FilterOperate.StartsWith: case FilterOperate.EndsWith: case FilterOperate.Contains: return($"{rule.Field} like {paramName}"); default: { var opCode = rule.Operate.ToOperateCode(); return($"{rule.Field} {opCode} {paramName}"); } } ; }
protected virtual string FormatReqRule(ReqRule rule) { var field = $"{prefix}.{rule.Field}"; var result = ""; switch (rule.Operate) { case FilterOperate.StartsWith: result = $"{field}.StartsWith({FormatValue(rule.Value)})"; break; case FilterOperate.EndsWith: result = $"{field}.EndsWith({FormatValue(rule.Value)})"; break; case FilterOperate.Contains: result = $"{field}.Contains({FormatValue(rule.Value)})"; break; default: var opCode = rule.Operate.ToOperateCode(); if (rule.Operate == FilterOperate.Equal) { opCode = "=="; // expression, 得用 == 符号 } var type = !rule.ConversionType.IsNullOrEmpty() ? "(" + rule.ConversionType + ")" : ""; var vType = rule.Value.GetType(); if (vType == typeof(Guid)) { result = $"{type}{field}.ToString() {opCode} {FormatValue(rule.Value)}"; } else { result = $"{type}{field}{opCode} {FormatValue(rule.Value)}"; } break; } ; return(result); }