2016-11-14 94 views
4

我想使用EF代码第一次迁移来在数据库中创建我的模型。但是,我将使用的数据库已经存在并由其他应用程序共享。我的问题是:EF Code First Drop Database?

迁移擦除数据库?那将是一场灾难! 迁移是否会抹去任何东西?

回答

1

问:迁移是否擦除数据库?

- 答:不,你可以做到这一点,而不删除它。

您必须按如下所示在包装管理器控制台上执行此操作。

步骤1:

PM > Add-Migration InitialCreate –IgnoreChanges 

上述命令将创建一个空的迁移与当前模型作为快照。

第2步:

PM > Update-Database 

上面的命令将应用迁移InitialCreate到数据库。因此,实际迁移不包含任何更改,它将在__MigrationsHistory表中添加一行,表明此迁移已应用。

您可以在这里阅读更多关于它的信息:CF Migrations with an existing database

0

我通常在这种情况下做的是创建到现有数据库的迁移,然后将所有内容从Up和Down方法中移除并运行更新。通过这种方式,您的代码首次迁移将与数据库中当前的最新数据保持同步,因此,通过添加第二次迁移,任何新的模式更改都将成为唯一的选择。