private void GetString(StringBuilder builder, IDictionary <String, Object> ps, Expression exp) { exp = Flatten(exp); if (exp == null) { return; } // 递归构建,下级运算符优先级较低时加括号 var bracket = false; if (exp is WhereExpression where) { if (where.Empty) { return; } if (where.Operator > Operator) { bracket = true; } } if (bracket) { builder.Append("("); } exp.GetString(builder, ps); if (bracket) { builder.Append(")"); } }
private void GetString(IDatabase db, StringBuilder builder, IDictionary <String, Object> ps, Expression exp) { exp = Flatten(exp); if (exp == null || exp.IsEmpty) { return; } // 递归构建,下级运算符优先级较低时加括号 var bracket = false; if (exp is WhereExpression where) { //if (where.IsEmpty) return; if (where.Operator > Operator) { bracket = true; } } if (bracket) { builder.Append('('); } exp.GetString(db, builder, ps); if (bracket) { builder.Append(')'); } }