È possibile che l'API Web ASP di base assicuri che il DB venga migrato alla migrazione più recente utilizzando EF Core? So che questo può essere fatto attraverso la linea di comando, ma voglio farlo in modo programmatico.ASP - Core Migrate EF Core SQL DB all'avvio
Aggiornamento
Sulla base della risposta da Janshair Khan sono arrivato fino a questa classe helper:
using Microsoft.AspNetCore.Builder;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using MyWebApi.Models;
namespace MyWebApi
{
public static class DataSeeder
{
public static void SeedData(this IApplicationBuilder app)
{
var context = app.ApplicationServices.GetService<MyContext>();
if (!context.Database.EnsureCreated())
context.Database.Migrate();
}
}
}
È possibile chiamare questo dal metodo Configure
nel vostro Startup.cs
come questo:
app.SeedData();
ancora non fatto dovrebbe essere attuata con la prossima versione. Puoi utilizzare la soluzione alternativa che viene pubblicata di seguito da Khan. –
Vedere le risposte di seguito. È necessario utilizzare ConfirmCreated o Migrate. Non entrambi. –