예제 #1
0
        public static void Main(string[] args)
        {
            var hostserver = CreateHostBuilder(args).Build();

            // agregar las migraciones creadas con EF
            using (var ambiente = hostserver.Services.CreateScope())
            {
                var services = ambiente.ServiceProvider;
                try
                {
                    // obetener el usermanager para el modelo Usuario
                    var usuarioManager = services.GetRequiredService <UserManager <Usuario> >();

                    // llamar el uso de CursosOnlineContext
                    var context = services.GetRequiredService <CursosOnlineContext>();
                    // hacer la migracion directamente a la DB
                    context.Database.Migrate();

                    // instancia del seeder de datos creado en Persistencia
                    DataSeeder.InsertarData(context, usuarioManager).Wait();
                }
                catch (Exception ex)
                {
                    // lanzar log con los errores encontrados durante la migracion en la DB
                    var logging = services.GetRequiredService <ILogger <Program> >();
                    logging.LogError(ex, "Ocurrio un error durante la migracion y no se efectuó correctamente.");
                }

                hostserver.Run();
            }
        }