public static void Main(string[] args) { //Log.Logger = new LoggerConfiguration() // .MinimumLevel.Debug() // .MinimumLevel.Override("Microsoft", LogEventLevel.Information) // .Enrich.FromLogContext() // .WriteTo.Console() // .CreateLogger(); //Log.Information("Ah, there you are!"); var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var service = scope.ServiceProvider; var loggerFactory = service.GetRequiredService <ILoggerFactory>(); try { var context = service.GetRequiredService <MyContext>(); MyDbContextSeed.Seed(context, loggerFactory); } catch (Exception ex) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(ex.Message, "db error"); } } host.Run(); }
public static void Main(string[] args) { // NLog: setup the logger first to catch all errors var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger(); logger.Info("init main"); var host = CreateWebHostBuilder(args) .Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var loggerFactory = services.GetRequiredService <ILoggerFactory>(); try { var catalogContext = services.GetRequiredService <MyDbContext>(); MyDbContextSeed.SeedAsync(catalogContext, loggerFactory).Wait(); } catch (Exception ex) { //var logger = loggerFactory.CreateLogger<Program>(); logger.Error(ex, "An error occurred seeding the DB."); } } host.Run(); }
protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.ConfigureServices(services => { // Create a new service provider. var serviceProvider = new ServiceCollection() .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider(); // Add a database context (ApplicationDbContext) using an in-memory // database for testing. services.AddDbContext <MyDbContext>(options => { options.UseInMemoryDatabase("InMemoryDbForTesting"); options.UseInternalServiceProvider(serviceProvider); }); // Build the service provider. var sp = services.BuildServiceProvider(); // Create a scope to obtain a reference to the database // context (ApplicationDbContext). using (var scope = sp.CreateScope()) { var scopedServices = scope.ServiceProvider; var db = scopedServices.GetRequiredService <MyDbContext>(); var loggerFactory = scopedServices.GetRequiredService <ILoggerFactory>(); var logger = scopedServices .GetRequiredService <ILogger <CustomWebApplicationFactory <TStartup> > >(); // Ensure the database is created. db.Database.EnsureCreated(); try { // Seed the database with test data. MyDbContextSeed.SeedAsync(db, loggerFactory).Wait(); } catch (Exception ex) { logger.LogError(ex, $"An error occurred seeding the " + "database with test messages. Error: {ex.Message}"); } } }); }
public async static Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var loggerFactory = services.GetRequiredService <ILoggerFactory>(); try{ var context = services.GetRequiredService <MyDbContext>(); await context.Database.MigrateAsync(); await MyDbContextSeed.SeedDataAsync(context, loggerFactory); } catch (Exception ex) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(ex, "An error occured during intial migration"); } } host.Run(); }
public static void Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.File(Path.Combine("logs", @"log.txt"), rollingInterval: RollingInterval.Day) .CreateLogger(); var webHost = CreateWebHostBuilder(args).Build(); using (var serviceScope = webHost.Services.CreateScope()) { var ServiceProvider = serviceScope.ServiceProvider; var loggerFactory = ServiceProvider.GetRequiredService <ILoggerFactory>(); var myDbContext = ServiceProvider.GetRequiredService <MyDbContext>(); MyDbContextSeed.SeedAsync(myDbContext, loggerFactory).Wait(); } webHost.Run(); }