4

EF 迁移看起来很酷,但是有太多的“魔法”在发生,而且对于它实际在做什么的解释很少。我要做的就是设置迁移点并获取 DDL 脚本——从一个迁移到另一个迁移的“差异”脚本或整个创建 DDL 脚本。

问题在于,所有迁移命令似乎都依赖于存在的实际数据库来执行一堆我不感兴趣的东西。有没有办法绕过所有这些,只使用迁移来生成脚本?

4

1 回答 1

0

这是昨天讨论过的。迁移命令取决于您的工作数据库,因为它们与__MigrationHistory表交互以获取实际状态并正确计算必须进行的更改。

如果您只需要创建脚本,您可以通过使用带有附加参数的 Update-Database 来做到这一点:

为整个数据库创建脚本:

Update-Database -Script -SourceMigration:$InitialDatabase 

创建从迁移 A 升级到迁移 B 的脚本:

Update-Database -Script -SourceMigration:"A" -TargetMigration:"B"
于 2012-05-30T08:51:59.640 回答