/// <summary>
 /// 每次的行操作都会判断前面的执行方式
 /// </summary>
 /// <param name="column"></param>
 protected virtual void AddColumn(ColumnRelevanceMapper column)
 {
     if (_sqlOperatorEnum != SqlOperatorEnum.None)
     {
         column.SqlOperatorEnum = _sqlOperatorEnum;
         //初始化sql操作
         _sqlOperatorEnum = SqlOperatorEnum.None;
     }
     ReduceSql.Add(column);
 }
        public BatchParameterReduce AddWhere(Expression expression)
        {
            SqlOperatorEnum operatorEnum = SqlOperatorEnum.None;

            if (RenewalHelper.WhereCount() != 0)
            {
                operatorEnum = SqlOperatorEnum.And;
            }
            ConvertExpression(expression, RenewalHelper.Where, operatorEnum);
            return(this);
        }
 private SqlOperatorEnum SqlEnumConvert(SqlOperatorEnum sqlOperatorEnum)
 {
     if (sqlOperatorEnum == SqlOperatorEnum.Equal)
     {
         return(SqlOperatorEnum.EqualNull);
     }
     if (sqlOperatorEnum == SqlOperatorEnum.NotEqual)
     {
         return(SqlOperatorEnum.EqualNotNull);
     }
     return(SqlOperatorEnum.None);
 }
Exemple #4
0
        public static String GetOperator(this SqlOperatorEnum sql)
        {
            switch (sql)
            {
            case SqlOperatorEnum.And:
                return(And);

            case SqlOperatorEnum.Equal:
                return(Equal);

            case SqlOperatorEnum.EqualNotNull:
                return(EqualNotNull);

            case SqlOperatorEnum.EqualNull:
                return(EqualNull);

            case SqlOperatorEnum.Having:
                return(Having);

            case SqlOperatorEnum.In:
                return(In);

            case SqlOperatorEnum.LeftBrace:
                return(LeftBrace);

            case SqlOperatorEnum.NotEqual:
                return(NotEqual);

            case SqlOperatorEnum.On:
                return(On);

            case SqlOperatorEnum.Or:
                return(Or);

            case SqlOperatorEnum.OrderBy:
                return(OrderBy);

            case SqlOperatorEnum.RightBrace:
                return(RightBrace);

            case SqlOperatorEnum.Select:
                return(Select);

            case SqlOperatorEnum.Where:
                return(Where);

            case SqlOperatorEnum.LessThan:
                return(Less);

            case SqlOperatorEnum.LessThanOrEqual:
                return(LessThan);

            case SqlOperatorEnum.GreaterThan:
                return(Greater);

            case SqlOperatorEnum.GreaterThanOrEqual:
                return(GreaterThan);

            case SqlOperatorEnum.Top:
                return(Top);

            default:
                return("");
            }
        }
        private void ConvertExpression(Expression expression, List <ColumnRelevanceMapper> columns, SqlOperatorEnum operatorEnum = SqlOperatorEnum.None)
        {
            ParameterReduce parameterReduce = new ParameterReduce(Parameters, columns);

            if (operatorEnum != SqlOperatorEnum.None)
            {
                parameterReduce.AddOperator(operatorEnum);
            }
            expression.ConvertExpression(parameterReduce);
        }
 /// <summary>
 /// 添加操作符号
 /// </summary>
 /// <param name="SqlOperatorEnum"></param>
 public void AddOperator(SqlOperatorEnum SqlOperatorEnum)
 {
     this._sqlOperatorEnum = SqlOperatorEnum;
 }