protected static async Task ExecuteBeerIdentityContextAwareTest(Func <DbContextOptionsBuilder <BeerIdentityContext>, BeerIdentityContext, Task> executor) { Random random1 = new Random(); var config = ConfigurationUtility.GetConfig(); String connectionString = $"{ConfigurationUtility.GetConnectionString("PostgresTest")};Database={random1.GetAlphanumericString()};"; DbContextOptionsBuilder <BeerIdentityContext> dbContextOptionsBuilder = new(); dbContextOptionsBuilder.UseNpgsql(connectionString, (ib) => ib.MigrationsAssembly(typeof(BeerIdentityContext).Assembly.FullName)); DbContextOptions <BeerIdentityContext> contextOptions = dbContextOptionsBuilder.Options; BeerIdentityContext context = new BeerIdentityContext(contextOptions); try { await context.Database.MigrateAsync(); await executor(dbContextOptionsBuilder, context); } finally { await context.Database.EnsureDeletedAsync(); } }