Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在运行时在.Net Core-实体框架Core中创建和应用迁移_C#_Asp.net Core_Entity Framework Core_Programmatically - Fatal编程技术网

C# 在运行时在.Net Core-实体框架Core中创建和应用迁移

C# 在运行时在.Net Core-实体框架Core中创建和应用迁移,c#,asp.net-core,entity-framework-core,programmatically,C#,Asp.net Core,Entity Framework Core,Programmatically,是否有任何可能的方法在运行时在dot net core中创建迁移和应用。 我遇到了context.database.migrate(),如果存在迁移文件,它将创建/更新数据库。 为此,需要从终端运行添加迁移 有没有一种方法可以通过添加迁移,然后从代码中以编程方式运行migrate() 提前感谢首先您需要添加课程 公共类初始化迁移 { 私有只读SDMContext上下文; 公共初始化迁移(SDMContext上下文) { this.context=上下文; } public void Migrat

是否有任何可能的方法在运行时在dot net core中创建迁移和应用。 我遇到了context.database.migrate(),如果存在迁移文件,它将创建/更新数据库。 为此,需要从终端运行添加迁移

有没有一种方法可以通过添加迁移,然后从代码中以编程方式运行migrate()


提前感谢

首先您需要添加课程

公共类初始化迁移 { 私有只读SDMContext上下文; 公共初始化迁移(SDMContext上下文) { this.context=上下文; } public void MigrateDatabase() { Migrate(); } }

然后添加startup.cs注入此服务

公共无效配置(IApplicationBuilder应用程序,IHostingEnvironment环境) {

var initMigrations=serviceScope.ServiceProvider.GetRequiredService();
initMigrations.MigrateDatabase();

}

检查此项:如果存在迁移脚本,则此项将执行迁移。我想在运行时生成migrationscript
        var initMigrations = serviceScope.ServiceProvider.GetRequiredService<InitMigrations>();
        initMigrations.MigrateDatabase();