Voglio aggiornare il database su SQL di Azure per adattarlo all'applicazione .Net Core utilizzando le migrazioni di Entity Framework Core. Il seguente comando è consigliato online:
Update-Database -ConnectionString $ConnectionString -ConnectionProviderName "System.Data.SqlClient"
Tuttavia, non funziona poiché il cmdlet di Update-Database
non riconosce il parametro –ConnectionString
. In che modo è possibile automatizzare le migrazioni dei database?
In che modo è possibile automatizzare le migrazioni dei database?
EF non supporta le migrazioni automatiche , potrebbe essere necessario eseguire manualmente le Add-Migration
o dotnet ef migrations add
per aggiungere file di migrazione. È possibile eseguire esplicitamente il comando per applicare le migrazioni, inoltre è possibile applicare le migrazioni nel codice.
Se si desidera applicare la migrazione in fase di runtime , è possibile aggiungere il seguente codice al metodo Configure
di Startup.cs
using (var scope = app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
{
scope.ServiceProvider.GetRequiredService<ApplicationDbContext>().Database.Migrate();
}
Per maggiori dettagli, puoi fare riferimento a questa discussione .