我正在使用 dotnetcore 2.0
。当对 Model
进行更改时,我需要知道如何以编程方式进行 migrate
。模型的更改可以是添加新列、编辑列、删除列或表。
由于 EF Core 不支持像 EF 6 中那样的自动迁移,有人可以建议一种新的方法来解决这个问题吗?
我正在使用 dotnetcore 2.0
。当对 Model
进行更改时,我需要知道如何以编程方式进行 migrate
。模型的更改可以是添加新列、编辑列、删除列或表。
由于 EF Core 不支持像 EF 6 中那样的自动迁移,有人可以建议一种新的方法来解决这个问题吗?
您也可以使用此功能用于数据种子,但迁移也会运行。
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模型在您的数据库上运行迁移。