public Expression ApplySelect(Expression source, OeQueryContext queryContext)
        {
            if (queryContext.ODataUri.Path.LastSegment is CountSegment)
            {
                return(source);
            }

            var selectTranslator = new Translators.OeSelectTranslator(_joinBuilder, queryContext.ODataUri.Path, queryContext.MetadataLevel);

            source = selectTranslator.Build(source, queryContext);
            _entryFactoryFactory = selectTranslator.CreateEntryFactory;

            ChangeParameterType(source);
            return(source);
        }
Esempio n. 2
0
        public Expression ApplySelect(Expression source, OeQueryContext queryContext)
        {
            if (queryContext.ODataUri.Path.LastSegment is CountSegment)
            {
                return(source);
            }

            var selectTranslator           = new Translators.OeSelectTranslator(queryContext.EdmModel, _joinBuilder, queryContext.ODataUri);
            var selectTranslatorParameters = new Translators.OeSelectTranslatorParameters()
            {
                IsDatabaseNullHighestValue = queryContext.IsDatabaseNullHighestValue,
                MetadataLevel       = queryContext.MetadataLevel,
                SkipTokenNameValues = queryContext.SkipTokenNameValues
            };

            source = selectTranslator.Build(source, ref selectTranslatorParameters, out _entryFactoryFactory);

            ChangeParameterType(source);
            return(source);
        }