protected override void ConfigureDatabases(IServiceCollection services) { services.AddDbContext <AppDataContext>(c => c.UseInMemoryDatabase("AspNetCoreWebApiTest").UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking), ServiceLifetime.Transient); using (var scope = services.BuildServiceProvider().CreateScope()) { var scopedServices = scope.ServiceProvider; var AspNetCoreWebApiContext = scopedServices.GetRequiredService <AppDataContext>(); AspNetCoreWebApiContext.Database.EnsureCreated(); AppDataSeed.SeedAsync(AspNetCoreWebApiContext, false).Wait(); } }
public ProductRepositoryTests(ITestOutputHelper output) { _output = output; var dbOptions = new DbContextOptionsBuilder <AppDataContext>() .UseInMemoryDatabase(databaseName: "AspNetCoreWebApiTest") .Options; _appDataContext = new AppDataContext(dbOptions); AppDataSeed.SeedAsync(_appDataContext, false).Wait(); _productRepository = new ProductRepository(_appDataContext); }
/// <summary> /// /// </summary> /// <param name="host"></param> private static void SeedData(IHost host) { using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var logger = services.GetRequiredService <IAppLogger <AppDataSeed> >(); try { var AspNetCoreWebContext = services.GetRequiredService <AppDataContext>(); AppDataSeed.SeedAsync(AspNetCoreWebContext, true).Wait(); } catch (Exception ex) { logger.LogError("An error occurred seeding the DB.", ex); } } }