Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Entity framework 根据模型和当前数据库之间的差异生成EF迁移_Entity Framework_Ef Code First_Entity Framework Migrations - Fatal编程技术网

Entity framework 根据模型和当前数据库之间的差异生成EF迁移

Entity framework 根据模型和当前数据库之间的差异生成EF迁移,entity-framework,ef-code-first,entity-framework-migrations,Entity Framework,Ef Code First,Entity Framework Migrations,我尝试将代码优先迁移应用到我的场景中,但rational behind迁移似乎与我的不兼容 考虑以下情况: 我有一个应用程序和几个用户。我在第1版。我在1.1版的模型中添加了一些功能,但我的一些用户不会升级。现在,我为1.2版添加了其他功能,一些人将从1升级,其他人将从1.1升级。我需要他们所有人无缝升级他们的数据库。也就是说,可以在运行时根据当前模型和当前数据库之间的差异计算升级,而不是在开发时根据当前模型和上次迁移计算升级 我有什么不对劲吗?是否支持此方案?例如,如果您有一个映射到版本1模型

我尝试将代码优先迁移应用到我的场景中,但rational behind迁移似乎与我的不兼容

考虑以下情况: 我有一个应用程序和几个用户。我在第1版。我在1.1版的模型中添加了一些功能,但我的一些用户不会升级。现在,我为1.2版添加了其他功能,一些人将从1升级,其他人将从1.1升级。我需要他们所有人无缝升级他们的数据库。也就是说,可以在运行时根据当前模型和当前数据库之间的差异计算升级,而不是在开发时根据当前模型和上次迁移计算升级


我有什么不对劲吗?是否支持此方案?

例如,如果您有一个映射到版本1模型的数据库,并且您发布了

Update-Database
命令或使用以下代码:

var dbMigrator = new DbMigrator(new Configuration());
dbMigrator.Update();
通过运行所有挂起的迁移步骤,数据库将更新为最新版本


当然,这需要在版本1和版本1.1之间创建一个迁移步骤,然后当您将模型更改为版本2时,创建另一个从版本1.1迁移到版本2的迁移步骤。

例如,如果您有一个映射到版本1模型的数据库,并且您发布了

Update-Database
命令或使用以下代码:

var dbMigrator = new DbMigrator(new Configuration());
dbMigrator.Update();
通过运行所有挂起的迁移步骤,数据库将更新为最新版本


当然,这需要在版本1和版本1.1之间创建一个迁移步骤,然后当您将模型更改为版本2时,创建另一个从版本1.1迁移到版本2的迁移步骤。

例如,如果您有一个映射到版本1模型的数据库,并且您发布了

Update-Database
命令或使用以下代码:

var dbMigrator = new DbMigrator(new Configuration());
dbMigrator.Update();
通过运行所有挂起的迁移步骤,数据库将更新为最新版本


当然,这需要在版本1和版本1.1之间创建一个迁移步骤,然后当您将模型更改为版本2时,创建另一个从版本1.1迁移到版本2的迁移步骤。

例如,如果您有一个映射到版本1模型的数据库,并且您发布了

Update-Database
命令或使用以下代码:

var dbMigrator = new DbMigrator(new Configuration());
dbMigrator.Update();
通过运行所有挂起的迁移步骤,数据库将更新为最新版本

当然,这需要在版本1和版本1.1之间创建一个迁移步骤,然后在将模型更改为版本2时创建另一个从版本1.1迁移到版本2的迁移步骤