public void SetResult(GetDocumentResult result)
        {
            // We don't want to track transformed entities.
            if (_transformer != null)
            {
                return;
            }

            foreach (BlittableJsonReaderObject document in result.Results)
            {
                var newDocumentInfo = DocumentInfo.GetNewDocumentInfo(document);
                _session.DocumentsById[newDocumentInfo.Id] = newDocumentInfo;
                _returnedIds.Add(newDocumentInfo.Id);
            }
        }
        public T[] GetTransformedDocuments <T>(GetDocumentResult result)
        {
            if (result == null)
            {
                return(null);
            }

            if (typeof(T).IsArray)
            {
                return(TransformerHelpers.ParseResultsArray <T>(_session, result));
            }

            var items = TransformerHelpers.ParseResults <T>(_session, result).ToArray();

            return(items);
        }
        public void SetResult(GetDocumentResult result)
        {
            if (result.Includes != null)
            {
                foreach (BlittableJsonReaderObject include in result.Includes)
                {
                    var newDocumentInfo = DocumentInfo.GetNewDocumentInfo(include);
                    _session.includedDocumentsByKey[newDocumentInfo.Id] = newDocumentInfo;
                }
            }

            if (_includes != null && _includes.Length > 0)
            {
                _session.RegisterMissingIncludes(result.Results, _includes);
            }
        }
        public T[] GetTransformedDocuments <T>(GetDocumentResult result)
        {
            if (result == null)
            {
                return(null);
            }

            if (typeof(T).IsArray)
            {
                return(TransformerHelpers.ParseResultsArray <T>(_session, result));
            }

            var items = TransformerHelpers.ParseResults <T>(_session, result).ToArray();

            if (items.Length > _ids.Length)
            {
                throw new InvalidOperationException(String.Format("A load was attempted with transformer {0}, and more than one item was returned per entity - please use {1}[] as the projection type instead of {1}",
                                                                  _transformer,
                                                                  typeof(T).Name));
            }

            return(items);
        }