Asp.net mvc 关于在ASP.NET MVC中在代码优先的后期阶段更改模型
我正在学习ASP.NETMVC的基础知识。我为一个页面创建了一个模型视图控制器。在我的项目中,我有讲师表和课程表。一旦我运行了这个项目,一切似乎都很顺利。但是后来我想编辑这个模型;如在courses.cs文件中的讲师表中添加一个字段。当我这么做的时候,一个异常开始出现,说明了一些上下文变化和迁移问题 错误消息:Asp.net mvc 关于在ASP.NET MVC中在代码优先的后期阶段更改模型,asp.net-mvc,entity-framework,asp.net-mvc-4,ef-code-first,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,Ef Code First,我正在学习ASP.NETMVC的基础知识。我为一个页面创建了一个模型视图控制器。在我的项目中,我有讲师表和课程表。一旦我运行了这个项目,一切似乎都很顺利。但是后来我想编辑这个模型;如在courses.cs文件中的讲师表中添加一个字段。当我这么做的时候,一个异常开始出现,说明了一些上下文变化和迁移问题 错误消息: the context has changed since the database was created. Consider using Code First Migrations
the context has changed since the database was created. Consider using Code First Migrations to update the database
我发现我需要添加Database.SetInitializer(null)强>
在global.asax文件中。即使做了那个改变,我仍然被同样的错误卡住了。我的问题是,我正在courses.cs文件中添加一个字段,方法是写入公共字符串地址{get;set;}。是否还需要在视图中手动添加相应的代码。在初始解决方案期间,视图自动创建,其中包含表列(原始)。但是由于我在courses.cs文件的讲师表中添加了一个额外的列。我是否需要在“indexcs.html”文件中相应的视图中手动添加该特定字段?如果没有,那么为什么我仍然得到错误。如果是,则我必须手动打开与courses.cs相关的所有视图,并开始手动进行更改。因为在课程视图中,我有很多.cshtml文件。我是否需要在所有位置添加与我相关的相应更改,添加一个额外字段,即,公共字符串地址{get;set;}。有没有什么自动的方法。就像我第一次制作控制器时VisualStudio所做的那样 您是如何从模型中生成数据库的?迁移是为了确保数据库与您的模型匹配,而与视图或.cshtml文件无关。此外,一般建议您在问题中包含实际的错误消息和代码片段;不这样做将很快为您赢得否决票或更糟的是,赢得接近票。我添加了错误消息。因为我添加了一行额外的代码公共字符串地址{get;set;}。我是否也必须手动更改视图。该错误进一步确认,您需要更新数据库以匹配您的模型。同样,这与你的观点无关。