Skip to main content

Session: Include Time Series With Load

You can include a time series or a part of it while loading a document via session.Load.

session.Load and IncludeTimeSeries

To include time series data while retrieving documents via session.Load, pass session.Load the IncludeTimeSeries method of the IIncludeBuilder interface as an argument.

Syntax

  • session.Load
    • Definition
T Load<T>(string id, Action<IIncludeBuilder<T>> includes);
  • Parameters

    ParametersTypeDescription
    idstringDocument ID
    includesAction<IIncludeBuilder<T>>Include Object
  • IncludeTimeSeries

    • Definition
TBuilder IncludeTimeSeries(string name, DateTime? from = null, DateTime? to = null);
  • Parameters

    ParametersTypeDescription
    namestringTime series Name
    fromDateTime?Time series range start
    when null, from will default to DateTime.MinValue.
    toDateTime?Time series range end

    when null, to will default to DateTime.MaxValue.

Usage Flow

  • Open a session
  • Call session.Load and pass it -
    • The Document ID
    • The IncludeTimeSeries method with its arguments:
      Time series name
      Range start
      Range end

Usage Sample

In this sample, we load a document using session.Load and include a selected range of entries from a time series named "Heartrate".

using (var session = store.OpenSession())
{
var baseline = DateTime.Today;

// Load a document
User user = session.Load<User>("users/john", includeBuilder =>
// Call 'IncludeTimeSeries' to include time series entries, pass:
// * The time series name
// * Start and end timestamps indicating the range of entries to include
includeBuilder.IncludeTimeSeries("HeartRates", baseline.AddMinutes(3), baseline.AddMinutes(8)));

// The following call to 'Get' will Not trigger a server request,
// the entries will be retrieved from the session's cache.
IEnumerable<TimeSeriesEntry> entries = session.TimeSeriesFor("users/john", "HeartRates")
.Get(baseline.AddMinutes(3), baseline.AddMinutes(8));
}

The entries we Get after including the time series, are retrieved from the session's cache.