Пример #1
0
        private OeAsyncEnumerator ExecutePost(IEdmModel refModel, ODataUri odataUri, OeRequestHeaders headers, CancellationToken cancellationToken, Stream requestStream)
        {
            _odataUri = odataUri;

            var parser = new OePostParser(refModel);
            OeAsyncEnumerator asyncEnumerator = parser.GetAsyncEnumerator(odataUri, requestStream, headers, _dataContext, out bool isScalar);

            if (!isScalar)
            {
                _queryContext = parser.CreateQueryContext(odataUri, headers.MetadataLevel);
            }

            return(asyncEnumerator);
        }
Пример #2
0
        private IAsyncEnumerable <Object> ExecutePost(IEdmModel refModel, ODataUri odataUri, OeRequestHeaders headers, Stream requestStream)
        {
            _odataUri = odataUri;

            var parser = new OePostParser(refModel);
            IAsyncEnumerable <Object> asyncEnumerable = parser.GetAsyncEnumerable(odataUri, requestStream, headers, _dataContext, out bool isScalar);

            if (!isScalar)
            {
                _queryContext = parser.CreateQueryContext(odataUri, headers.MetadataLevel);
            }

            return(asyncEnumerable);
        }
Пример #3
0
        private OeAsyncEnumerator Execute(ODataUri odataUri, Stream requestStream, OeRequestHeaders headers, CancellationToken cancellationToken)
        {
            Object dataContext = _dataAdapter.CreateDataContext();

            var parser = new OePostParser(_dataAdapter, _edmModel);
            OeAsyncEnumerator asyncEnumerator = parser.GetAsyncEnumerator(odataUri, requestStream, headers, dataContext, out Type returnClrType);

            if (returnClrType != null && !(returnClrType.IsPrimitive || returnClrType == typeof(String)))
            {
                _queryContext = parser.CreateQueryContext(odataUri, headers.MetadataLevel, returnClrType);
            }

            return(asyncEnumerator);
        }
        private IAsyncEnumerable <Object> ExecutePost(IEdmModel refModel, ODataUri odataUri, OeRequestHeaders headers, Stream requestStream, CancellationToken cancellationToken)
        {
            _odataUri = odataUri;

            var parser = new OePostParser(refModel, null);
            IAsyncEnumerable <Object> asyncEnumerable = parser.GetAsyncEnumerable(odataUri, requestStream, headers, _dataContext !, cancellationToken, out bool isScalar);

            if (!isScalar)
            {
                var           importSegment = (OperationImportSegment)odataUri.Path.FirstSegment;
                IEdmEntitySet?entitySet     = OeOperationHelper.GetEntitySet(importSegment.OperationImports.Single());
                if (entitySet != null)
                {
                    _queryContext = parser.CreateQueryContext(odataUri, entitySet, headers.MetadataLevel);
                }
            }

            return(asyncEnumerable);
        }