Beispiel #1
0
        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();
            }
        }