/// <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));
                        }
                    }
                }
            }
Example #3
0
            /// <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);
                    }
                }
            }