我正在使用dotnetcore 2.0
。我需要知道如何在对migrate
进行更改时以编程方式Model
。更改为模型可以添加新列,编辑列,删除列或表。
由于EF核心不支持EF 6中的自动迁移,有人可以建议一种新方法吗?
答案 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模型在您的数据库上运行迁移