我创建了一个互联网 asp.net Mvc 4 应用程序。它首先使用 EF5 代码,默认使用 LocalDB。我有以下问题。我将所有表都放在数据上下文类中MyContext
,并在其上启用了数据库迁移。
用户上下文。我
email
在表中添加了一个字段UserProfile
。但是,我无法在默认情况下启用数据库迁移,UsersContext
因为我已经在MyContext
. 我不得不删除数据库并让它重新创建UserProfile
表(我必须先打开用户注册页面,否则它将创建UserProfile
没有字段email
。)我将项目发布到带有 IIS/Sql Server 的服务器并继续处理该项目。但是,有时它显示模型
UsersContext
已更改(不是真的),我不得不删除实时服务器上的数据库并让它重新创建数据库。有时它会在表中创建两次相同的索引
MyContext
,但迁移失败。而且我不得不再次删除数据库以重新创建。
如何预防以上问题?上线后是否应该禁用数据库迁移?如何应用模型/数据库更改?