Sto provando a distribuire la mia app in Azure, che utilizza SQLite con EF Core. Funziona correttamente quando eseguo migrazioni di dotnet ef aggiungo InitialCreate insieme all'aggiornamento del database dotnet ef, ma quando lo distribuisco in Azure la tabella non viene trovata. Ho provato a utilizzare context.Database.Migrate (), crea il file, anche se quando lo apro non c'è schema, che è strano, e si verifica lo stesso problema. Qualsiasi suggerimento su come posso distribuire in Azure e creare migrazioni per il mio database SQLite sarebbe molto apprezzato. Grazie.
Ho seguito alcuni suggerimenti sul web e finalmente ho trovato una soluzione che funziona per me. È possibile creare un metodo chiamato UpdateDatabase (o qualsiasi altro nome desiderato) e chiamarlo nella parte Configura di Startup.cs.
private void UpdateDatabase(IApplicationBuilder app)
{
using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
{
// get your database context of the current app
using (var context = serviceScope.ServiceProvider.GetService<InsertYourDbContext>())
{
// Call the migrate of the database provider to
// apply all data migrations pending
context.Database.Migrate();
}
}
}