private Expression CreateItemsExpressionFromChildBuilder() { var groupItemsFilterExpression = CreateChildItemsFilterExpression(); IQueryable groupItems = this.Queryable.Where(groupItemsFilterExpression); childBuilder.Queryable = groupItems; return(childBuilder.CreateQuery().Expression); }
public IQueryable CreateQuery() { GroupDescriptorExpressionBuilder childBuilder = null; foreach (GroupDescriptor groupDescriptor in groupDescriptors.Reverse()) { var builder = new GroupDescriptorExpressionBuilder(this.queryable, groupDescriptor, childBuilder, notPagedData); builder.Options.LiftMemberAccessToNull = queryable.Provider.IsLinqToObjectsProvider(); childBuilder = builder; } if (childBuilder != null) { return(childBuilder.CreateQuery()); } return(queryable); }