public static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { var context = services.GetRequiredService <ApplicationContext>(); if (context.Database.IsSqlServer()) { context.Database.Migrate(); } var categoryRepository = services.GetRequiredService <ICategoryRepository>(); ApplicationDbContextSeed.SeedCategory(categoryRepository); } catch (System.Exception ex) { var logger = scope.ServiceProvider.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error occurred while migtration or seeding the database"); throw; } } host.Run(); }