public async new Task <IList <IEvent <TStateKey> > > GetListAsync(EventQueryModel queryModel) { queryModel.StateId = this.StateId.ToString(); List <string> tables = await this._storageFactory.GetTableList(this.Options.EventSourceName, StorageType.EventSource, this.StateId.ToString(), queryModel.StartTime); List <IEvent <TStateKey> > events = new List <IEvent <TStateKey> >(); foreach (var t in tables) { var eventModels = await _eventStorage.GetListAsync(t, queryModel); var _events = this.ConvertEvent <TStateKey>(eventModels); events.AddRange(_events); if (queryModel.Limit > 0) { if (events.Count >= queryModel.Limit) { break; } } } return(events); }