public List <T> Complete <T>() { _session.AssertNotDisposed(); // ensure that the user didn't do an async query then closed the session early var queryResult = _currentQueryResults.CreateSnapshot(); queryResult.Results.BlittableValidation(); if (DisableEntitiesTracking == false) { _session.RegisterIncludes(queryResult.Includes); } var list = new List <T>(); foreach (BlittableJsonReaderObject document in queryResult.Results) { var metadata = document.GetMetadata(); metadata.TryGetId(out var id); list.Add(Deserialize <T>(id, document, metadata, _fieldsToFetch, DisableEntitiesTracking, _session)); } if (DisableEntitiesTracking == false) { _session.RegisterMissingIncludes(queryResult.Results, queryResult.Includes, queryResult.IncludedPaths); } return(list); }
private void CompleteInternal <T>(QueryResult queryResult, Action <int, T> addToResult) { queryResult.Results.BlittableValidation(); if (NoTracking == false) { _session.RegisterIncludes(queryResult.Includes); } for (int i = 0; i < queryResult.Results.Length; i++) { var document = (BlittableJsonReaderObject)queryResult.Results[i]; var metadata = document.GetMetadata(); metadata.TryGetId(out var id); addToResult(i, Deserialize <T>(id, document, metadata, _fieldsToFetch, NoTracking, _session)); } if (NoTracking == false) { _session.RegisterMissingIncludes(queryResult.Results, queryResult.Includes, queryResult.IncludedPaths); if (queryResult.CounterIncludes != null) { _session.RegisterCounters( queryResult.CounterIncludes, queryResult.IncludedCounterNames); } } }
public List <T> Complete <T>() { var queryResult = _currentQueryResults.CreateSnapshot(); if (DisableEntitiesTracking == false) { _session.RegisterIncludes(queryResult.Includes); } var list = new List <T>(); foreach (BlittableJsonReaderObject document in queryResult.Results) { var metadata = document.GetMetadata(); metadata.TryGetId(out var id); list.Add(Deserialize <T>(id, document, metadata, _projectionFields, DisableEntitiesTracking, _session)); } if (DisableEntitiesTracking == false) { _session.RegisterMissingIncludes(queryResult.Results, queryResult.Includes, queryResult.IncludedPaths); } return(list); }
private void CompleteInternal <T>(QueryResult queryResult, Action <int, T> addToResult) { queryResult.Results.BlittableValidation(); if (NoTracking == false) { _session.RegisterIncludes(queryResult.Includes); } for (int i = 0; i < queryResult.Results.Length; i++) { var document = (BlittableJsonReaderObject)queryResult.Results[i]; BlittableJsonReaderObject metadata; try { metadata = document.GetMetadata(); } catch (InvalidOperationException) { if (document.Count != _facetResultProperties.Length) { throw; } foreach (var prop in _facetResultProperties) { if (document.TryGetMember(prop.Name, out _) == false) { throw; } } throw new InvalidOperationException("Raw query with aggregation by facet should be called by " + $"{nameof(IRawDocumentQuery<T>.ExecuteAggregation)} or {nameof(IAsyncRawDocumentQuery<T>.ExecuteAggregationAsync)} method."); } metadata.TryGetId(out var id); addToResult(i, Deserialize <T>(id, document, metadata, _fieldsToFetch, NoTracking, _session, _isProjectInto)); } if (NoTracking == false) { _session.RegisterMissingIncludes(queryResult.Results, queryResult.Includes, queryResult.IncludedPaths); if (queryResult.CounterIncludes != null) { _session.RegisterCounters( queryResult.CounterIncludes, queryResult.IncludedCounterNames); } } }
private Dictionary <string, FacetResult> ProcessResults(QueryResult queryResult) { InvokeAfterQueryExecuted(queryResult); var results = new Dictionary <string, FacetResult>(); foreach (BlittableJsonReaderObject result in queryResult.Results) { var facetResult = DocumentConventions.Default.Serialization.DefaultConverter.FromBlittable <FacetResult>(result, "facet/result"); results[facetResult.Name] = facetResult; } _session.RegisterIncludes(queryResult.Includes); QueryOperation.EnsureIsAcceptable(queryResult, _query.WaitForNonStaleResults, _duration, _session); return(results); }
public List <T> Complete <T>() { _session.RegisterIncludes(_result.Includes); var list = new List <T>(); foreach (BlittableJsonReaderObject document in _result.Results) { var metadata = document.GetMetadata(); metadata.TryGetId(out var id); list.Add(QueryOperation.Deserialize <T>(id, document, metadata, projectionFields: null, disableEntitiesTracking: false, session: _session)); } _session.RegisterMissingIncludes(_result.Results, _result.Includes, _query.Includes); return(list); }
public void SetResult(GetDocumentResult result) { if (result == null) { return; } _session.RegisterIncludes(result.Includes); foreach (BlittableJsonReaderObject document in result.Results) { if (document == null) { continue; } var newDocumentInfo = DocumentInfo.GetNewDocumentInfo(document); _session.DocumentsById.Add(newDocumentInfo); } _session.RegisterMissingIncludes(result.Results, result.Includes, _includes); }