/// <summary> /// Finds and deserializes an aggregate the specified id, if any. If none exists, returns null. /// </summary> /// <param name="version">The version at which to retrieve the aggregate.</param> /// <param name="aggregateId">The id of the aggregate.</param> /// <returns>The deserialized aggregate, or null if none exists with the specified id.</returns> public TAggregate GetVersion(Guid aggregateId, long version) { var events = eventStream.UpToVersion(aggregateId.ToString(), version) .Result .ToArray(); if (events.Any()) { return(events.CreateAggregate <TAggregate>()); } return(null); }