我有一个包含架构和数据的现有dev DB。我使用microsoft实用程序(CodeFirst类)创建了类。然后我启用了迁移。
现在我对-IgnoreChanges的行为感到困惑。如果初始迁移没有Up()和没有Down()逻辑,那么当我部署到prod db时会发生什么?
EF是否只是忽略所有迁移,只是直接从模型构建?
如果我没有输入-IgnoreChanges,那么所有Up()和Down()逻辑都在那里。但是在Update-Database上,它会抛出一个关于已存在同名的表的异常。
我正在使用EF 5 RC。
答案 0 :(得分:1)
IgnoreChanges
适用于您拥有现有应用程序(在dev和prod中)并且您想要开始使用迁移的情况。 IgnoreChanges
将simplify adding initial migration发送到现有数据库。如果您处于不存在生产数据库的情况下,则无法使用忽略更改。
您的案例的直接选项是从现有数据库创建实体并继续处理从这些实体迁移所创建的另一个数据库,因为您需要在Up
方法中为所有这些实体创建表(以及{{1}分别)}。