Beispiel #1
0
        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);
            });
        }
Beispiel #2
0
        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();
            }
        }