/// <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); }
/// <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; }