public async Task SeedAsync(RunesDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext == null) { throw new ArgumentNullException(nameof(dbContext)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } var logger = serviceProvider.GetService <ILoggerFactory>().CreateLogger(typeof(ApplicationDbContextSeeder)); var seeders = new List <ISeeder> { new RolesSeeder(), new SettingsSeeder(), }; foreach (var seeder in seeders) { await seeder.SeedAsync(dbContext, serviceProvider); await dbContext.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
public async Task GetCountShouldReturnCorrectNumberUsingDbContext() { var options = new DbContextOptionsBuilder <RunesDbContext>() .UseInMemoryDatabase(databaseName: "SettingsTestDb").Options; var dbContext = new RunesDbContext(options); dbContext.Settings.Add(new Setting()); dbContext.Settings.Add(new Setting()); dbContext.Settings.Add(new Setting()); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <Setting>(dbContext); var service = new SettingsService(repository); Assert.Equal(3, service.GetCount()); }