/// <summary> /// 添加查询条件,如果存在括号时,则自动判断加上括号 /// </summary> /// <param name="sqlquery">SqlQuery查询对象</param> /// <param name="item">当前SqlQuery条件实体</param> /// <param name="isIn">是否是In查询,是的话第一次加And</param> /// <returns></returns> public static Constraint AddConstraint(SqlQuery sqlquery, SqlqueryCondition item, bool isIn = false) { //判断是Where查询还是And查询 if (ConstraintType.Where.Equals(item.SQConstraintType) || ConstraintType.And.Equals(item.SQConstraintType) || (isIn && !item.IsOr)) { //判断是否需要加括号 if (item.IsParentheses && item.IsBrackets) { return(sqlquery.AndExpression(item.SQColumnName)); } else { return(sqlquery.And(item.SQColumnName)); } } //使用Or查询 else { //判断是否需要加括号 if (item.IsParentheses && item.IsBrackets) { return(sqlquery.OrExpression(item.SQColumnName)); } else { return(sqlquery.Or(item.SQColumnName)); } } }
/// <summary> /// 添加查询条件,如果存在括号时,则自动判断加上括号 /// </summary> /// <param name="sqlquery">SqlQuery查询对象</param> /// <param name="item">当前SqlQuery条件实体</param> /// <param name="type">查询类型,0=正常查询,1=in查询,2=not in查询</param> /// <param name="isFirst">是否是in查询的第一个值,第一个值要加括号</param> /// <returns></returns> public static Constraint AddConstraint(SqlQuery sqlquery, SqlqueryCondition item, int type = 0, bool isFirst = false) { //是否是in查询 if (type > 0) { //是否是第一个值 if (isFirst) { //判断是Where查询还是And查询 if (ConstraintType.Where.Equals(item.SQConstraintType) || ConstraintType.And.Equals(item.SQConstraintType)) { return(sqlquery.AndExpression(item.SQColumnName)); } else { return(sqlquery.OrExpression(item.SQColumnName)); } } else { //in查询中,每个值之间都是Or关系 if (type == 1) { return(sqlquery.Or(item.SQColumnName)); } //not in查询中,每个值之间都是And关系 else { return(sqlquery.And(item.SQColumnName)); } } } else { //判断是Where查询还是And查询 if (ConstraintType.Where.Equals(item.SQConstraintType) || ConstraintType.And.Equals(item.SQConstraintType)) { //判断是否需要加括号 if (item.IsParentheses) { return(sqlquery.AndExpression(item.SQColumnName)); } else { return(sqlquery.And(item.SQColumnName)); } } //使用Or查询 else { //判断是否需要加括号 if (item.IsParentheses) { return(sqlquery.OrExpression(item.SQColumnName)); } else { return(sqlquery.Or(item.SQColumnName)); } } } }
/// <summary> /// 添加查询条件,如果存在括号时,则自动判断加上括号 /// </summary> /// <param name="sqlquery">SqlQuery查询对象</param> /// <param name="item">当前SqlQuery条件实体</param> /// <param name="type">查询类型,0=正常查询,1=in查询,2=not in查询</param> /// <param name="isFirst">是否是in查询的第一个值,第一个值要加括号</param> /// <returns></returns> public static Constraint AddConstraint(SqlQuery sqlquery, SqlqueryCondition item, int type = 0, bool isFirst = false) { //是否是in查询 if (type > 0) { //是否是第一个值 if (isFirst) { //判断是Where查询还是And查询 if (ConstraintType.Where.Equals(item.SQConstraintType) || ConstraintType.And.Equals(item.SQConstraintType)) { return sqlquery.AndExpression(item.SQColumnName); } else { return sqlquery.OrExpression(item.SQColumnName); } } else { //in查询中,每个值之间都是Or关系 if (type == 1) return sqlquery.Or(item.SQColumnName); //not in查询中,每个值之间都是And关系 else return sqlquery.And(item.SQColumnName); } } else { //判断是Where查询还是And查询 if (ConstraintType.Where.Equals(item.SQConstraintType) || ConstraintType.And.Equals(item.SQConstraintType)) { //判断是否需要加括号 if (item.IsParentheses) { return sqlquery.AndExpression(item.SQColumnName); } else return sqlquery.And(item.SQColumnName); } //使用Or查询 else { //判断是否需要加括号 if (item.IsParentheses) { return sqlquery.OrExpression(item.SQColumnName); } else return sqlquery.Or(item.SQColumnName); } } }