public async Task <IEnumerable <IEvent> > GetAsync(string aggregateId, string aggregateType, int fromVersion) { IEnumerable <string> result; using (var conn = _sqlConnectionFactory.GetReadConnection()) { conn.Open(); result = await _dapper.QueryAsync <string>(conn, _settings.GetSql, new { AggregateId = aggregateId, _settings.ApplicationName, AggregateType = aggregateType, FromVersion = fromVersion }, _settings.CommandType).ConfigureAwait(false); } var events = result.Select(serializedEvent => JsonConvert.DeserializeObject <IEvent>(serializedEvent, JsonSerializerSettings)); return(events); }