/// <summary> /// 拼接UnaryExpression /// </summary> /// <param name="expression"></param> /// <param name="builder"></param> protected virtual void BuilderUnaryExpression(UnaryExpression expression, StringBuilder builder) { var name = expression.ConvertUnaryExpression(); name = GetSubName(expression.ToString(), name); builder.Append(string.Format("{0},", name)); }
/// <summary> /// /// </summary> /// <param name="expression"></param> /// <param name="builder"></param> protected virtual void BuilderUnaryExpression(UnaryExpression expression, StringBuilder builder) { var lambdaExpression = expression.Operand as LambdaExpression; if (lambdaExpression != null) { BuilderOrderbyExpression(lambdaExpression.Body, builder); } else { builder.Append(string.Format("{0},", expression.ConvertUnaryExpression().Trim(')').Trim('('))); } }
/// <summary> ///拼接expression /// </summary> /// <param name="expression"></param> /// <param name="builder"></param> protected virtual void BuilderWhereUnaryExpression(UnaryExpression expression, StringBuilder builder) { if (expression.Operand.NodeType == ExpressionType.Lambda) { BuilderWhereExpression(((LambdaExpression)expression.Operand).Body, builder); } else if (expression.Operand.NodeType == ExpressionType.MemberAccess && !expression.Operand.ToString().Contains("value(")) { builder.Append(expression.ConvertUnaryExpression()); } else { builder.Append(GetInvokeValue(expression)); } }
/// <summary> /// 拼接UnaryExpression /// </summary> /// <param name="expression"></param> /// <param name="builder"></param> protected virtual void BuilderUnaryExpression(UnaryExpression expression, StringBuilder builder) { builder.Append(string.Format("{0},", expression.ConvertUnaryExpression())); }