/// <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())); }
/// <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())); }