public async Task SeedAsync(LolBoostingDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext == null) { throw new ArgumentNullException(nameof(dbContext)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } var logger = serviceProvider.GetRequiredService <ILoggerFactory>().CreateLogger(typeof(LolBoostingDbContext)); var seeders = new List <ISeeder> { new RolesSeeder(), new UsersSeeder(), new TierRateSeeder() }; foreach (var seeder in seeders) { await seeder.SeedAsync(dbContext, serviceProvider); await dbContext.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
public async Task SeedAsync(LolBoostingDbContext dbContext, IServiceProvider serviceProvider) { var tierRatesToAdd = _tierRates.Where(z => dbContext.TierRates.Find(z.Value.TierRateId) == null).ToDictionary(z => z.Key, z => z.Value); dbContext.AddRange(tierRatesToAdd.Values); await dbContext.SaveChangesAsync(); }