public async Task SeedAsync(CensusDbContext context, ILogger <CensusDbContextSeed> logger, int retries = 3) { var policy = CreatePolicy(retries, logger, nameof(CensusDbContextSeed)); await policy.Execute(async() => { await SeedDataSetAsync <ActualCensusEntity>(context, WorksheetNameForActuals); await SeedDataSetAsync <EstimatedCensusEnity>(context, WorksheetNameForEstimates); }); }
private async Task SeedDataSetAsync <TEntity>(CensusDbContext context, string WorksheetName) where TEntity : class, new() { if (!context.Set <TEntity>().Any()) { var entities = ExcelUtility.ReadFromWorksheet <TEntity>(seedFilePath, WorksheetName); await context.Set <TEntity>().AddRangeAsync(entities); await context.SaveChangesAsync(); } }