protected virtual Expression VisitOuterJoined(OuterJoinedExpression outer) { Expression test = this.Visit(outer.Test); Expression expression = this.Visit(outer.Expression); return(this.UpdateOuterJoined(outer, test, expression)); }
protected OuterJoinedExpression UpdateOuterJoined(OuterJoinedExpression outer, Expression test, Expression expression) { if ((test != outer.Test) || (expression != outer.Expression)) { return(new OuterJoinedExpression(test, expression)); } return(outer); }
protected virtual Expression VisitOuterJoined(OuterJoinedExpression outer) { base.Write("Outer("); base.WriteLine(ExpressionWriter.Indentation.Inner); this.Visit(outer.Test); base.Write(", "); base.WriteLine(ExpressionWriter.Indentation.Same); this.Visit(outer.Expression); base.WriteLine(ExpressionWriter.Indentation.Outer); base.Write(")"); return(outer); }
protected override Expression VisitOuterJoined(OuterJoinedExpression outer) { ParameterExpression expression3; int num; Expression ifFalse = this.Visit(outer.Expression); ColumnExpression test = (ColumnExpression)outer.Test; if (this.scope.TryGetValue(test, out expression3, out num)) { return(Expression.Condition(Expression.Call((Expression)expression3, "IsDbNull", (Type[])null, new Expression[] { Expression.Constant(num) }), Expression.Constant(King.Framework.Linq.TypeHelper.GetDefault(outer.Type), outer.Type), ifFalse)); } return(ifFalse); }