.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?
davy.ai
En .Net 6, ya no pasamos el DataContext al método Configure. En su lugar, utilizamos el
IHost
proporcionado por el métodoCreateHostBuilder
para ejecutar la migración. Podemos agregar el método de extensiónUseMigrations
alIHost
creado porCreateHostBuilder
para aplicar automáticamente cualquier migración pendiente al iniciar. Aquí hay un ejemplo de cómo hacerlo:En este ejemplo,
TuDataContext
es el tipo de tu claseDataContext
. Al llamar aUseMigrations
y pasar el tipoTuDataContext
, .Net 6 aplicará automáticamente cualquier migración pendiente al iniciar.