private Expression CreateItemsExpressionFromChildBuilder()
        {
            var groupItemsFilterExpression = CreateChildItemsFilterExpression();

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

            childBuilder.Queryable = groupItems;

            return(childBuilder.CreateExpression());
        }
Ejemplo n.º 2
0
        public Expression CreateExpression()
        {
            GroupDescriptorExpressionBuilderEx childBuilder = null;

            foreach (GroupDescriptor groupDescriptor in groupDescriptors.Reverse())
            {
                var builder = new GroupDescriptorExpressionBuilderEx(this.queryable, groupDescriptor, childBuilder, notPagedData);
                //builder.Options.LiftMemberAccessToNull = queryable.Provider.IsLinqToObjectsProvider();
                builder.Options.LiftMemberAccessToNull = false;
                childBuilder = builder;
            }

            if (childBuilder != null)
            {
                return(childBuilder.CreateExpression());
            }

            return(queryable);
        }