首先在逆向工程代码中生成MigrationHistory表

时间:2017-04-27 15:16:38

标签: c# entity-framework entity-framework-6 ef-migrations

我先在现有数据库上进行逆向工程以获取代码。接下来i启用 - 迁移上下文(基于代码的迁移)。当我创建一个初始添加迁移时,它工作正常,并将应用于空数据库。 但我的要求是我需要使用我用于创建模型的相同数据库,因为它具有数据。

现在的难题是如何实现基于代码的迁移。我的数据库没有迁移历史记录表。因此,当我运行Update-database时,它会尝试创建现有表并失败。

如何捕获迁移历史记录中的当前状态或指示EF以当前架构为起点创建迁移历史记录。

我是否需要打开自动迁移进行初始设置。请建议。

注意:我使用的是EF 6。

1 个答案:

答案 0 :(得分:1)

您需要建立现有项目的基线迁移。因此,您创建的第一个迁移应该是:

add-migration Initial -IgnoreChanges

忽略更改告诉EF只保存当前数据库的快照。现在,任何后续迁移都不会包含现有表(只是更改)。这将允许您继续更新现有数据库,因为EF将在__MigrationHistory中查看记录或部署到新的空数据库。

请参阅under the hood section here