1

我正在使用 Code-First 迁移。现在我希望我的应用程序在发布到新服务器时为模型创建数据库和所有表。

我不想使用自动迁移,因为我想跟踪数据库版本控制。但是当我将我的应用程序部署到新服务器时,我不希望它执行所有步骤以进入当前模型(例如,添加在以后的修订中被删除的表/列)。

我想知道是否有一种方法可以创建一个包含整个(POCO)数据模型的迁移。

4

1 回答 1

0

当您更改连接字符串以针对您的新数据库时,EF 会比较您的模型,并将其与数据库中存在的模型进行迁移。如果什么都不存在(新数据库),它将创建一个与您所拥有的数据库相匹配的数据库,方法是为您执行每个迁移。如果你想在实现之前查看生成的 sql,运行:

update-database -verbose -script 

在包管理器控制台中查看生成的内容。

它看起来像:

  • 创建表
  • 插入迁移
  • 历史行修改
  • 表格插入
  • 迁移历史行
  • ETC...

即使您有大量迁移,它也会将它们全部组合到一个脚本中并一次实现它们。

于 2012-10-12T11:46:34.687 回答