我正在开始使用 ASP.NET MVC4 CodeFirst 方法制作一个简单的网站。该网站是围绕能够注册、发布帖子等的用户构建的。现有的UserProfile
类已针对住宿其他字段(例如:名字、姓氏等)进行了修改。
当我运行该网站时,我遇到了类似的错误:
Invalid column name 'FirstName'.
Invalid column name 'LastName'.
Invalid column name 'Phone'.
我认为这是因为模型更新时数据库没有更新。因此,我在其中设置了以下内容,Application_Start()
目的Global.asax
是始终删除数据库(至少在我掌握它之前)。
protected void Application_Start()
{
Database.SetInitializer(new DropCreateDatabaseAlways<UsersContext>());
//Other default generated stuff below...
}
我也试过了DropCreateDatabaseIfModelChanges
,但两种方法都没有删除数据库。
这不可能吗?为什么?难道我做错了什么?
我相信可以将信息存储在另一个表中并将其链接到此表,但我更喜欢将其保存在一个表中。
UserProfiles
添加到网站上下文中也是一个坏主意(可以说:(DatabaseContext
其中有其他实体,如帖子、评论等)并更改AccountsController
为使用DatabaseContext
而不是UsersContext
?
提前致谢。