public async Task <IList <Guid> > StartAsync() { await log.WriteLineAsync($"Start processing table '{table.Name}'"); await log.WriteLineAsync($"{table.Name}: generating {table.GenerateCount} entities:"); var generatedIds = new List <Guid>(); for (int i = 0; i < table.GenerateCount; i++) { generatedIds.Add(await ProcessTableRecord()); } return(generatedIds); }
private async Task <string> GetRecord() { await log.WriteLineAsync($"Peeking existin record from table {dependency.DependentTable.Name}"); var existingIds = await DatabaseContext.Instance.GetExistingIds(dependency.DependentTable.Name, dependency.DependentTable.IdentityField); if (existingIds.Count == 0) { await log.WriteLineAsync($"Nothing to peek"); return(await CreateRecord()); } var peekIndex = Randomizer.Instance.GetInt(existingIds.Count - 1); return(existingIds[peekIndex].ToTableRecordValueString()); }