public async Task SeedAsync(OrderingDbContext dbContext) { await _policy.ExecuteAsync(async() => { using (dbContext) { _logger.LogInformation("Start seeding data..."); dbContext.Database.Migrate(); if (!dbContext.CardTypes.Any()) { dbContext.CardTypes.AddRange(_cardTypesDataProvider.GetData()); await dbContext.SaveChangesAsync(); } if (!dbContext.OrderStatus.Any()) { dbContext.OrderStatus.AddRange(_orderStatusDataProvider.GetData()); } await dbContext.SaveChangesAsync(); _logger.LogInformation("Data seeding is done"); } }); }