es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

.NET 6: cómo ejecutar migraciones automáticamente en program.cs

En .Net 5, solíamos poder llamar a la migración pasando el DataContext al método Configure y llamando a la migración en la clase Startup.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataContext dataContext)
{
   // migrar cualquier cambio en la base de datos al inicio (incluye la creación inicial de la base de datos)
   dataContext.Database.Migrate();

   ...
}

¿Cómo lo podemos hacer en .Net 6?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    En .Net 6, ya no pasamos el DataContext al método Configure. En su lugar, utilizamos el IHost proporcionado por el método CreateHostBuilder para ejecutar la migración. Podemos agregar el método de extensión UseMigrations al IHost creado por CreateHostBuilder para aplicar automáticamente cualquier migración pendiente al iniciar. Aquí hay un ejemplo de cómo hacerlo:

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<startup>();
            })
            .UseMigrations<tudatacontext>();
    

    En este ejemplo, TuDataContext es el tipo de tu clase DataContext. Al llamar a UseMigrations y pasar el tipo TuDataContext, .Net 6 aplicará automáticamente cualquier migración pendiente al iniciar.

Comments are closed.