Inheritance: SqlExpression
Example #1
0
 protected virtual string GetOperator(UnaryExpression u)
 {
     switch (u.NodeType)
     {
         case SqlExpressionType.Exists:
             return "EXISTS";
         case SqlExpressionType.IsNull:
             return "IS NULL";
         case SqlExpressionType.Negate:
             return "-";
         case SqlExpressionType.Not:
             return "NOT";
         case SqlExpressionType.UnaryPlus:
             return "+";
         default:
             throw new NotSupportedException("不支持的操作符:" + u.NodeType);
     }
 }
Example #2
0
 protected override SqlExpression VisitUnary(UnaryExpression expr)
 {
     if (expr.NodeType == SqlExpressionType.IsNull)
     {
         this.Write("(");
         this.Visit(expr.Operand);
         this.Write(") ");
         this.Write(GetOperator(expr));
     }
     else
     {
         this.Write(GetOperator(expr));
         this.Write(" (");
         this.Visit(expr.Operand);
         this.Write(") ");
     }
     return expr;
 }