/// <summary> /// Cria uma expressõa para os itens a parti do construtor do filho /// </summary> /// <returns></returns> private Expression CreateItemsExpressionFromChildBuilder() { LambdaExpression predicate = this.CreateChildItemsFilterExpression(); IQueryable queryable = this.Queryable.Where(predicate); _childBuilder.Queryable = queryable; return(_childBuilder.CreateQuery().Expression); }
/// <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); }