ASP - Core Migrer EF Base SQL DB au Démarrage

Est-il possible d'avoir mon ASP Web de Base de l'API de s'assurer de la DB est migré vers la dernière migration à l'aide de EF de Base? Je sais que cela peut être fait par le biais de la ligne de commande, mais je veux le faire par programmation.

Mise à jour

Basé sur la réponse de Janshair Khan, je suis venu avec cette classe d'assistance:

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();
        }
    }
}

Vous pouvez appeler à partir de la Configure méthode dans votre Startup.cs comme ceci:

app.SeedData();
  • pas encore fait devraient être mises en œuvre avec la prochaine version. Vous pouvez utiliser la solution de contournement qui est affiché ci-dessous à partir de Khan.
  • Voir les réponses ci-dessous. Vous devez utiliser EnsureCreated ou de Migrer. Pas les deux.
  • La documentation officielle dit: "N'appelez pas EnsureCreated() avant de Migrer(). EnsureCreated() ignore les Migrations afin de créer le schéma et la cause de Migrer() à l'échec.' : docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/...
InformationsquelleAutor Zeus82 | 2016-06-12