示例#1
0
        public override DbExpression Visit(DbOrElseExpression exp)
        {
            Stack <DbExpression> operands = GatherBinaryExpressionOperand(exp);

            this.ConcatOperands(operands, " OR ");

            return(exp);
        }
示例#2
0
        static void Method_String_IsNullOrEmpty(DbMethodCallExpression exp, SqlGenerator generator)
        {
            EnsureMethod(exp, UtilConstants.MethodInfo_String_IsNullOrEmpty);

            DbExpression      e = exp.Arguments.First();
            DbEqualExpression equalNullExpression  = DbExpression.Equal(e, DbExpression.Constant(null, UtilConstants.TypeOfString));
            DbEqualExpression equalEmptyExpression = DbExpression.Equal(e, DbExpression.Constant(string.Empty));

            DbOrElseExpression orElseExpression = DbExpression.OrElse(equalNullExpression, equalEmptyExpression);

            DbCaseWhenExpression.WhenThenExpressionPair whenThenPair = new DbCaseWhenExpression.WhenThenExpressionPair(orElseExpression, DbConstantExpression.One);

            List <DbCaseWhenExpression.WhenThenExpressionPair> whenThenExps = new List <DbCaseWhenExpression.WhenThenExpressionPair>(1);

            whenThenExps.Add(whenThenPair);

            DbCaseWhenExpression caseWhenExpression = DbExpression.CaseWhen(whenThenExps, DbConstantExpression.Zero, UtilConstants.TypeOfBoolean);

            var eqExp = DbExpression.Equal(caseWhenExpression, DbConstantExpression.One);

            eqExp.Accept(generator);
        }
示例#3
0
 public override ISqlPart Visit(DbOrElseExpression dbExpression)
 {
     throw new NotImplementedException();
 }
 public override DbExpression Visit(DbOrElseExpression exp)
 {
     return(this.VisistDbBooleanExpression(exp));
 }
 public abstract T Visit(DbOrElseExpression exp);