Asp.NETMVC4和EntityFramework 5代码优先数据库迁移

Asp.NETMVC4和EntityFramework 5代码优先数据库迁移,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-4,entity-framework-5,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,Entity Framework 5,我创建了一个internet asp.net Mvc 4应用程序。它首先使用EF5代码,默认情况下使用LocalDB。我有以下问题。我将所有表放在数据上下文类MyContext中,并在其上启用了数据库迁移 用户上下文。我在UserProfile表中添加了一个字段电子邮件。但是,我无法在默认UsersContext上启用数据库迁移,因为我已经在MyContext上启用了迁移。我必须删除数据库,让它重新创建UserProfile表。我必须首先打开用户注册页面,否则它将创建UserProfile而不使

我创建了一个internet asp.net Mvc 4应用程序。它首先使用EF5代码,默认情况下使用LocalDB。我有以下问题。我将所有表放在数据上下文类MyContext中,并在其上启用了数据库迁移

用户上下文。我在UserProfile表中添加了一个字段电子邮件。但是,我无法在默认UsersContext上启用数据库迁移,因为我已经在MyContext上启用了迁移。我必须删除数据库,让它重新创建UserProfile表。我必须首先打开用户注册页面,否则它将创建UserProfile而不使用字段电子邮件

我将该项目发布到带有IIS/Sql server的服务器上,并继续处理该项目。但是,有时它会显示UsersContext的模型被更改为不正确,我不得不删除live server上的数据库,让它重新创建数据库

有时它会在MyContext中的表上创建两次相同的索引,但迁移失败。为了重新创建,我不得不再次删除数据库


如何预防上述问题?启动后是否应禁用数据库迁移?如何应用模型/DB更改?

您应该只使用一个上下文。请参见以下答案,UsersContext是由MVC模板scaffold创建的。我应该在AccountModel中重命名该类吗?