我有一个现有的dev DB与模式和数据。我使用microsoft实用程序(CodeFirst类)创建了这些类。然后我启用了迁移。

现在我对IgnoreChanges的行为感到困惑。如果初始迁移没有Up()和Down()逻辑,当我部署到prod db时会发生什么?

EF是否只是忽略所有迁移,而只是直接从模型从头开始构建?

如果我不放入-IgnoreChanges,所有的Up()和Down()逻辑都在那里。但在Update-Database时,它会引发有关已存在同名表的异常。

我正在使用EF5RC。

有帮助吗?

解决方案

IgnoreChanges 适用于您拥有现有应用程序(在dev和prod中)并且希望开始使用迁移的场景。 IgnoreChanges 威尔 简化添加初始迁移 到现有数据库。如果您处于不存在生产数据库的情况下,则不能使用忽略更改。

对于您的情况,直接的选择是从现有数据库创建实体,并继续处理从这些实体迁移创建的另一个数据库,因为您需要为以下所有实体创建表 Up 方法(和 Down 方法分别)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top