public static IWebHost RegisterPostgres <TContext>(this IWebHost webHost, Func <TContext, IServiceProvider, Task> seeder = null) where TContext : DbContext { return(webHost .ExecuteForPostgres <TContext>("Migration", async(context, services) => await context.Database.MigrateAsync()) .ExecuteForPostgres <TContext>("Seeding", async(context, services) => { if (seeder != null) { await seeder(context, services); } })); }