public override void Visit(DbOrExpression e) { Check.NotNull(e, "e"); BeginBinary(e); End(e); }
public override object Visit(DbOrExpression expression) { this.Visit(expression.Left); this.Visit(expression.Right); return(null); }
public override LegacyCommandTrees.DbExpression Visit(DbOrExpression expression) { Debug.Assert(expression != null, "expression != null"); return (expression.Left.Accept(this).Or(expression.Right.Accept(this))); }
public override Expression Visit(DbOrExpression expression) { return (Expression.OrElse( this.Visit(expression.Left), this.Visit(expression.Right))); }
public override DbExpression Visit(DbOrExpression exp) { Stack<DbExpression> operands = GatherBinaryExpressionOperand(exp); this.ConcatOperands(operands, " OR "); return exp; }
public override Expression Visit(DbOrExpression expression) { return Expression.OrElse( this.Visit(expression.Left), this.Visit(expression.Right)); }
public override void Visit(DbOrExpression expression) { Write(expression); _depth++; Write("Left", expression.Left); Write("Right", expression.Right); _depth--; }
/// <summary> /// Implements the visitor pattern for <see cref="T:System.Data.Common.CommandTrees.DbOrExpression"/>. /// </summary> /// <param name="expression">The <see cref="T:System.Data.Common.CommandTrees.DbOrExpression"/> that is visited.</param> public override void Visit(DbOrExpression expression) { if (expression == null) { throw new ArgumentNullException("expression"); } expression.Left.Accept(this); expression.Right.Accept(this); }
internal static IEnumerable <DbExpression> FlattenOr( DbExpression expression) { return(Helpers.GetLeafNodes <DbExpression>(expression, (Func <DbExpression, bool>)(exp => exp.ExpressionKind != DbExpressionKind.Or), (Func <DbExpression, IEnumerable <DbExpression> >)(exp => { DbOrExpression dbOrExpression = (DbOrExpression)exp; return (IEnumerable <DbExpression>) new DbExpression[2] { dbOrExpression.Left, dbOrExpression.Right }; }))); }
public void Process(DbMethodCallExpression exp, SqlGenerator generator) { DbExpression e = exp.Arguments.First(); DbEqualExpression equalNullExpression = DbExpression.Equal(e, DbExpression.Constant(null, UtilConstants.TypeOfString)); DbEqualExpression equalEmptyExpression = DbExpression.Equal(e, DbExpression.Constant(string.Empty)); DbOrExpression orExpression = DbExpression.Or(equalNullExpression, equalEmptyExpression); DbCaseWhenExpression.WhenThenExpressionPair whenThenPair = new DbCaseWhenExpression.WhenThenExpressionPair(orExpression, 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); }
/// <summary> /// Evaluates an 'or' expression given results of evaluating its children. /// </summary> /// <param name="predicate">'Or' predicate</param> /// <returns>True if either child predicate is satisfied; false otherwise.</returns> public override PropagatorResult Visit(DbOrExpression predicate) { EntityUtil.CheckArgumentNull(predicate, "predicate"); PropagatorResult left = Visit(predicate.Left); PropagatorResult right = Visit(predicate.Right); bool? leftResult = ConvertResultToBool(left); bool? rightResult = ConvertResultToBool(right); bool? result; // Optimization: if either argument is true, preserved and known, return a // result that is true, preserved and known. if ((leftResult.HasValue && leftResult.Value && PreservedAndKnown(left)) || (rightResult.HasValue && rightResult.Value && PreservedAndKnown(right))) { return(CreatePerservedAndKnownResult(true)); } result = EntityUtil.ThreeValuedOr(leftResult, rightResult); return(ConvertBoolToResult(result, left, right)); }
/// <summary> /// Visitor pattern method for DbOrExpression. /// </summary> /// <param name="expression"> The DbOrExpression that is being visited. </param> public abstract void Visit(DbOrExpression expression);
public override ISqlFragment Visit(DbOrExpression e) { return(VisitBinaryExpression("or", e.Left, e.Right)); }
public override void Visit(DbOrExpression expression) { Check.NotNull(expression, "expression"); VisitBinary(expression, " or "); }
public override void Visit(DbOrExpression e) { VisitBinary(e); }
public override void Visit(DbOrExpression expression) { VisitBinary(expression, " OR "); }
public override SqlFragment Visit(DbOrExpression expression) { return(VisitBinaryExpression(expression.Left, expression.Right, "OR")); }
public override bool Visit(DbOrExpression expression) { Check.NotNull <DbOrExpression>(expression, nameof(expression)); return(this.VisitBinaryExpression((DbBinaryExpression)expression)); }
public override void Visit(DbOrExpression expression) { Contract.Requires(expression != null); }
public override TreeNode Visit(DbOrExpression e) { Check.NotNull(e, "e"); return(VisitInfix(e.Left, "Or", e.Right)); }
public override TReturn Visit(DbOrExpression expression) { throw ConstructNotSupportedException(expression); }
public override void Visit(DbOrExpression e) { Check.NotNull(e, "e"); VisitBinary(e); }
public override void Visit(DbOrExpression e) { BeginBinary(e); End(e); }
public override DbExpression Visit(DbOrExpression exp) { return(this.ConvertDbBooleanExpression(exp)); }
/// <summary> /// Visitor pattern method for <see cref="DbOrExpression" />. /// </summary> /// <param name="expression"> The DbOrExpression that is being visited. </param> /// <exception cref="ArgumentNullException"> /// <paramref name="expression" /> /// is null /// </exception> public override void Visit(DbOrExpression expression) { VisitBinaryExpression(expression); }
public abstract T Visit(DbOrExpression exp);
public override TreeNode Visit(DbOrExpression e) { Check.NotNull <DbOrExpression>(e, nameof(e)); return(this.VisitInfix(e.Left, "Or", e.Right)); }
public override DbExpressionEntitySetInfo Visit(DbOrExpression expression) { return(null); }
// Removes null parameter checks public override DbExpression Visit(DbOrExpression expression) { return(expression.Left.Accept(this)); }
public override VfpExpression Visit(DbOrExpression expression) { return(new VfpOrExpression(expression.ResultType, expression.Left.Accept(this), expression.Right.Accept(this))); }
/// <summary> /// Typed visitor pattern method for DbOrExpression. /// </summary> /// <param name="expression"> The DbOrExpression that is being visited. </param> /// <returns> An instance of TResultType. </returns> public abstract TResultType Visit(DbOrExpression expression);
public override void Visit(DbOrExpression expression) { }
public override void Visit(DbOrExpression e) { Check.NotNull <DbOrExpression>(e, nameof(e)); this.VisitBinary((DbBinaryExpression)e); }
public override void Visit(DbOrExpression expression) { this.VisitBinary((DbBinaryExpression)expression, " or "); }
public override bool Visit(DbOrExpression expression) { return(VisitBinaryExpression(expression)); }
public override DbExpressionEntitySetInfo Visit(DbOrExpression expression) { Check.NotNull(expression, "expression"); return(null); }
public override void Visit(DbOrExpression expression) { VisitBinary(expression, " or "); }
// Removes null parameter checks public override DbExpression Visit(DbOrExpression expression) { return expression.Left.Accept(this); }