C# 向数据库上下文添加新字段时出错

C# 向数据库上下文添加新字段时出错,c#,asp.net,entity-framework,asp.net-mvc-4,razor,C#,Asp.net,Entity Framework,Asp.net Mvc 4,Razor,我正在编写一个MVC4ASP.NET应用程序。当我想向数据库中添加新字段时,我不断遇到此错误: 支持“UsersContext”上下文的模型 自创建数据库后已更改。 考虑使用代码第一迁移来更新数据库。 我该怎么办 由于数据库不再与DbContext类同步,因此会出现该错误 您应该考虑使用迁移 您可以使用包管理控制台处理代码优先迁移 enable-migrations 这正是这个名字所暗示的。初始化项目中的迁移。这将在项目中创建一个文件夹并生成所需的文件 add-migration Initi

我正在编写一个MVC4ASP.NET应用程序。当我想向数据库中添加新字段时,我不断遇到此错误:

支持“UsersContext”上下文的模型
自创建数据库后已更改。
考虑使用代码第一迁移来更新数据库。

我该怎么办

由于数据库不再与DbContext类同步,因此会出现该错误

您应该考虑使用
迁移

您可以使用包管理控制台处理代码优先迁移

enable-migrations
这正是这个名字所暗示的。初始化项目中的迁移。这将在项目中创建一个文件夹并生成所需的文件

add-migration InitialCreate
这将创建一个迁移。InitialCreate实际上是一个字符串,您可以将其更改为任何您想要的内容。此命令将生成从strach创建数据库所需的脚本

update-database
此命令验证数据库并应用所需的迁移(或多个迁移-可能有多个),以使数据库保持最新

这是初始设置。如果您对第一个code first类做了进一步的更改,或者添加了更多,那么您只需要添加一个新的迁移,然后执行它

add-migration AddedFirstName
update-database
就这么简单

还有一些更高级的概念,如种子、回滚、特定迁移的更新等,但我上面键入的内容涵盖了迁移的基础知识和日常使用


我建议您阅读这篇文章,它详细地解释了所有内容:

而不是粘贴代码…和写入错误…您考虑过使用代码优先迁移来更新数据库吗?不,我怎么做?它能修好吗?谢谢,因为您的本地模型与数据库中定义的模型不同。CFM将以兼容的方式更新表定义。你费心去读你的错误消息了吗?我是这方面的初学者,这是我连续第五天不间断地工作,是的,我读了错误消息,尝试了很多东西,但大多数都不适合我:(考虑预先声明
DbContext
与实体框架相关(如你在最后包含的链接所示)。OP似乎没有意识到这一点。(注意,我在问题中添加了“实体框架”标记。)