コード例 #1
0
        /// <summary>
        /// Visits a QueryExpression tree whose root node is the LinqAddQueryOptionExpression.
        /// </summary>
        /// <param name="expression">The root node of the expression tree being visited.</param>
        /// <returns>Replaced expression.</returns>
        public virtual QueryExpression Visit(LinqToAstoriaAddQueryOptionExpression expression)
        {
            QueryExpression source = this.ReplaceExpression(expression.Source);

            if (HasChanged(expression.Source, source))
            {
                return(LinqToAstoriaLinqBuilder.AddQueryOption(source, expression.QueryOption, expression.QueryValue));
            }
            else
            {
                return(expression);
            }
        }
コード例 #2
0
        /// <summary>
        /// Visits a QueryExpression tree whose root node is the LinqKeyExpression.
        /// </summary>
        /// <param name="expression">The root node of the expression tree being visited.</param>
        /// <returns>Replaced expression.</returns>
        public virtual QueryExpression Visit(LinqToAstoriaKeyExpression expression)
        {
            QueryExpression source = this.ReplaceExpression(expression.Source);

            if (HasChanged(expression.Source, source))
            {
                return(LinqToAstoriaLinqBuilder.Key(source, expression.KeyProperties));
            }
            else
            {
                return(expression);
            }
        }