迁移EF Core表

时间:2018-05-29 04:45:31

标签: c# entity-framework .net-core entity-framework-core

我正在使用dotnetcore 2.0。我需要知道如何在对migrate进行更改时以编程方式Model。更改为模型可以添加新列,编辑列,删除列或表。

由于EF核心不支持EF 6中的自动迁移,有人可以建议一种新方法吗?

1 个答案:

答案 0 :(得分:2)

您也可以使用它来播种数据,但也可以运行迁移。

public static void Migrate(IServiceProvider serviceProvider)
{

    using (var scope = serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope())
    {
         //replace with your dbContext
         var context = scope.ServiceProvider.GetRequiredService<ConfigurationDbContext>();
        context.Database.Migrate();
    }
}

然后从您的程序主要

public static void Main(string[] args)
{

    var host = BuildWebHost(args);

    Migrate(host.Services);
    host.Run();
}

一旦它发生,我相信它使用EF模型在您的数据库上运行迁移