示例#1
0
        /// <inheritdoc />
        public WhereExpression GenerateWhereCondition(Expression whereExpression)
        {
            Check.NotNull(whereExpression, nameof(whereExpression));

            LinqParameters    = new Parameters();
            LinqStringBuilder = new StringBuilder();
            MemberExpressionStack.Clear();

            Visit(whereExpression);

            return(new WhereExpression(LinqStringBuilder.ToString(), LinqParameters.GetParams()));
        }
示例#2
0
        /// <summary>
        /// Generates the SQL from expression.
        /// </summary>
        /// <param name="expression">The expression.</param>
        /// <returns>SQL select command text.</returns>
        public virtual QueryInfo GenerateSql(Expression expression)
        {
            Check.NotNull(expression, nameof(expression));
            _wasAny          = false;
            _sqlBuilder      = new StringBuilder();
            _top             = 0;
            _topPosition     = 0;
            _skip            = 0;
            _columnsPosition = 0;
            LinqParameters   = new Parameters();
            Orders.Clear();
            MemberExpressionStack.Clear();

            Visit(expression);

            CheckSkip();

            AddOrderBy();
            AddAnyMethod();
            AddLimitAndOffset();

            return(new QueryInfo(SqlBuilder.ToString(), CreateQueryReader()));
        }