예제 #1
0
        public virtual Expression BuildQueryClause(ParseContext ec, Expression leftSide)
        {
            Arguments arguments;

            CreateArguments(ec, out arguments);

            leftSide = CreateQueryExpression(leftSide, arguments);

            if (Next != null)
            {
                var selectClause = Next as SelectClause;
                if ((selectClause == null) || selectClause.IsRequired)
                {
                    return(Next.BuildQueryClause(ec, leftSide));
                }

                // Skip transparent select clause if any clause follows
                if (Next.Next != null)
                {
                    return(Next.Next.BuildQueryClause(ec, leftSide));
                }
            }

            return(leftSide);
        }
예제 #2
0
        public override Expression BuildQueryClause(ParseContext ec, Expression leftSide)
        {
            var result = Next.BuildQueryClause(ec, Initializer);

            return(result);
        }
예제 #3
0
 public override Expression BuildQueryClause(ParseContext ec, Expression lSide)
 {
     return(Next.BuildQueryClause(ec, lSide));
 }