private static void LikeLeft(MethodCallExpression expression, SqlBuilder sqlBuilder) { if (expression.Object != null) { Expression2SqlProvider.Where(expression.Object, sqlBuilder); } Expression2SqlProvider.Where(expression.Arguments[0], sqlBuilder); sqlBuilder += " like '%' +"; Expression2SqlProvider.Where(expression.Arguments[1], sqlBuilder); }
private static void LikeLeft(MethodCallExpression expression, SqlPack sqlPack) { if (expression.Object != null) { Expression2SqlProvider.Where(expression.Object, sqlPack); } Expression2SqlProvider.Where(expression.Arguments[0], sqlPack); sqlPack += " LIKE '%' +"; Expression2SqlProvider.Where(expression.Arguments[1], sqlPack); }
public ExpressionToSql <T> Where(Expression <Func <T, bool> > expression) { if (expression == null) { throw new ArgumentNullException("expression", "Value cannot be null"); } if (expression.Body != null && expression.Body.NodeType == ExpressionType.Constant) { throw new ArgumentException("Cannot be parse expression", "expression"); } this._sqlBuilder += "\nwhere"; Expression2SqlProvider.Where(expression.Body, this._sqlBuilder); return(this); }
protected override SqlPack Where(BinaryExpression expression, SqlPack sqlPack) { Expression2SqlProvider.Where(expression.Left, sqlPack); int signIndex = sqlPack.Length; Expression2SqlProvider.Where(expression.Right, sqlPack); int sqlLength = sqlPack.Length; if (sqlLength - signIndex == 5 && sqlPack.ToString().EndsWith("null")) { OperatorParser(expression.NodeType, signIndex, sqlPack, true); } else { OperatorParser(expression.NodeType, signIndex, sqlPack); } return(sqlPack); }
protected override SqlBuilder Where(BinaryExpression expression, SqlBuilder sqlBuilder) { if (IsNeedsParentheses(expression, expression.Left)) { sqlBuilder += "("; Expression2SqlProvider.Where(expression.Left, sqlBuilder); sqlBuilder += ")"; } else { Expression2SqlProvider.Where(expression.Left, sqlBuilder); } int signIndex = sqlBuilder.Length; if (IsNeedsParentheses(expression, expression.Right)) { sqlBuilder += "("; Expression2SqlProvider.Where(expression.Right, sqlBuilder); sqlBuilder += ")"; } else { Expression2SqlProvider.Where(expression.Right, sqlBuilder); } int sqlLength = sqlBuilder.Length; if (sqlLength - signIndex == 5 && sqlBuilder.ToString().EndsWith("null")) { OperatorParser(expression.NodeType, signIndex, sqlBuilder, true); } else { OperatorParser(expression.NodeType, signIndex, sqlBuilder); } return(sqlBuilder); }
private static void InnerIn(MethodCallExpression expression, SqlBuilder sqlBuilder) { Expression2SqlProvider.Where(expression.Arguments[0], sqlBuilder); sqlBuilder += " in"; Expression2SqlProvider.In(expression.Arguments[1], sqlBuilder); }
protected override SqlBuilder Where(ParameterExpression expression, SqlBuilder sqlBuilder) { Expression2SqlProvider.Where(expression, sqlBuilder); return(sqlBuilder); }
public ExpressionToSql <T> Where(Expression <Func <T, bool> > expression) { this._sqlBuilder += "\nwhere"; Expression2SqlProvider.Where(expression.Body, this._sqlBuilder); return(this); }
public Expression2SqlCore <T> Where(Expression <Func <T, bool> > expression) { this._sqlPack += "\nwhere"; Expression2SqlProvider.Where(expression.Body, this._sqlPack); return(this); }
protected override SqlBuilder Where(UnaryExpression expression, SqlBuilder sqlBuilder) { Expression2SqlProvider.Where(expression.Operand, sqlBuilder); return(sqlBuilder); }
private static void In(MethodCallExpression expression, SqlPack sqlPack) { Expression2SqlProvider.Where(expression.Arguments[0], sqlPack); sqlPack += " in"; Expression2SqlProvider.In(expression.Arguments[1], sqlPack); }
protected override SqlPack Where(UnaryExpression expression, SqlPack sqlPack) { Expression2SqlProvider.Where(expression.Operand, sqlPack); return(sqlPack); }