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); }