예제 #1
0
        private Expression CreateItemsExpressionFromChildBuilder()
        {
            var groupItemsFilterExpression = CreateChildItemsFilterExpression();

            IQueryable groupItems = this.Queryable.Where(groupItemsFilterExpression);

            childBuilder.Queryable = groupItems;

            return(childBuilder.CreateQuery().Expression);
        }
예제 #2
0
        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);
        }