/// <summary>
        /// Cria a consulta.
        /// </summary>
        /// <returns></returns>
        public IQueryable CreateQuery()
        {
            GroupDescriptorExpressionBuilder childBuilder = null;

            foreach (GroupDescriptor descriptor in _groupDescriptors.Reverse <GroupDescriptor>())
            {
                childBuilder = new GroupDescriptorExpressionBuilder(_queryable, descriptor, childBuilder, this._notPagedData)
                {
                    Options =
                    {
                        LiftMemberAccessToNull = _queryable.Provider.IsLinqToObjectsProvider()
                    }
                };
            }
            if (childBuilder != null)
            {
                return(childBuilder.CreateQuery());
            }
            return(_queryable);
        }
コード例 #2
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="queryable"></param>
 /// <param name="groupDescriptor"></param>
 /// <param name="childBuilder"></param>
 /// <param name="notPagedData"></param>
 public GroupDescriptorExpressionBuilder(IQueryable queryable, GroupDescriptor groupDescriptor, GroupDescriptorExpressionBuilder childBuilder, IQueryable notPagedData) : base(queryable)
 {
     _groupDescriptor = groupDescriptor;
     _childBuilder    = childBuilder;
     _notPagedData    = notPagedData;
 }