Beispiel #1
0
        /// <summary>
        /// 设置分组字段
        /// </summary>
        /// <param name="FieldName"></param>
        public void SetGroupBy(string FieldName)
        {
            if (this.GetGroupBy == null)
            {
                this.GetGroupBy = new GroupBy();
            }

            this.GetGroupBy.SetField(FieldName);
        }
Beispiel #2
0
 public IGroupByList Append(IGroupBy expression, bool copyToColumns = false)
 {
     this._expressions.Add(expression);
     if (copyToColumns)
     {
         this.Columns.Append(expression.Column);
     }
     return(this);
 }
Beispiel #3
0
 public From <TColumns> GroupBy(IGroupBy groupBy)
 {
     if (this.GroupByNode != null)
     {
         throw new ApplicationException();
     }
     QueryNodeHelper.SwitchParent(groupBy, this);
     this.GroupByNode = groupBy;
     return(this);
 }
Beispiel #4
0
        public HqlProjection(Type type, string projectionName, string projectionAlias)
        {
            _rootEntityName  = type.Name;
            _projectionName  = projectionName;
            _projectionAlias = projectionAlias;

            if (_projectionName.Contains("."))
            {
                _projectionNameSplits = _projectionName.Split('.');
            }

            _reuquiredJoin   = new HqlJoin(_rootEntityName, _projectionName);
            _requiredGroupBy = new HqlGroupBy(GetProjectionName(), false);
        }
Beispiel #5
0
        public HqlProjection(Type type, string projectionClause, string projectionName, string projectionAlias)
        {
            if (!_supportedClauses.Contains(projectionClause.ToLower()))
            {
                throw new HqlException(string.Format("The clause '{0}' is not supported.", projectionClause));
            }

            _projectionClause = projectionClause;
            _rootEntityName   = type.Name;
            _projectionName   = projectionName;
            _projectionAlias  = projectionAlias;

            if (_projectionName.Contains("."))
            {
                _projectionNameSplits = _projectionName.Split('.');
            }

            _reuquiredJoin   = new HqlJoin(_rootEntityName, _projectionName);
            _requiredGroupBy = new HqlGroupBy(GetProjectionName(), true);
        }
Beispiel #6
0
 public GroupExecutor(IList <IGroupBy <TItem> > groupBys, IGroupBy <TItem> itemBy)
 {
     _groupBys = groupBys;
     _itemBy   = itemBy;
 }
Beispiel #7
0
 public IGroupByList AppendWithColumn(IGroupBy expression, string column, string columnAlias, string prefix = "", string postfix = "")
 {
     this._expressions.Add(expression);
     this.Columns.AppendAlias(column, columnAlias, prefix, postfix);
     return(this);
 }
Beispiel #8
0
 public RankingGroupByArgs(IGroupBy groupBy, RankingOption option, int count, IColumnIdentifier operand, ColumnType type)
     : base(option, count, operand, type) => GroupBy = groupBy;
Beispiel #9
0
 public GroupByFilter(IResultSetFilter filter, IGroupBy groupBy)
 => (Filter, GroupBy) = (filter, groupBy);
Beispiel #10
0
 /// <summary>
 /// Groups a selected set of rows into a set of summary rows by the values of one or more columns or expressions.
 /// </summary>
 /// <param name="prev">A predecessor object.</param>
 /// <param name="columns">Are column expressions on which grouping is performed.</param>
 public static GroupByChainer GroupBy(this IGroupBy prev, params GroupingArgument[] columns)
 {
     return(new GroupByChainer((Chainer)prev, columns));
 }