C# 首先更新MVC数据库以反映数据库更改

C# 首先更新MVC数据库以反映数据库更改,c#,sql-server-2008,entity-framework,asp.net-mvc-4,ef-database-first,C#,Sql Server 2008,Entity Framework,Asp.net Mvc 4,Ef Database First,我是MVC新手,必须更新我的模型 我的项目已经连接了一个SQL Server数据库,今天我添加了一个新列。现在我需要更新我的MVC代码以反映更改 所有联机内容都告诉我使用更新模型向导更新.edmx和.tt文件,因为它们是自动生成的,但我在VS 2012中找不到该向导,因此我处于停滞状态 我应该这样做对吗?任何提示都很好…谢谢您可以选择以下几种方法: 如果数据库是空的或者没有太多您关心的数据,您可以删除数据库并重新创建它 在数据库中手动添加列(在属性位于模型中之后) 有一种称为代码优先迁移的方法。

我是MVC新手,必须更新我的模型

我的项目已经连接了一个SQL Server数据库,今天我添加了一个新列。现在我需要更新我的MVC代码以反映更改

所有联机内容都告诉我使用更新模型向导更新.edmx和.tt文件,因为它们是自动生成的,但我在VS 2012中找不到该向导,因此我处于停滞状态


我应该这样做对吗?任何提示都很好…谢谢

您可以选择以下几种方法:

  • 如果数据库是空的或者没有太多您关心的数据,您可以删除数据库并重新创建它
  • 在数据库中手动添加列(在属性位于模型中之后)
  • 有一种称为代码优先迁移的方法。这将允许您更新数据库。以下是一个教程,您可以查看该教程:

  • 您可以做以下几个选择:

  • 如果数据库是空的或者没有太多您关心的数据,您可以删除数据库并重新创建它
  • 在数据库中手动添加列(在属性位于模型中之后)
  • 有一种称为代码优先迁移的方法。这将允许您更新数据库。以下是一个教程,您可以查看该教程:

  • 双击edmx文件。这将打开数据库模型的关系图。 右键单击并选择“从数据库更新模型…” 这将启动您要查找的向导

    请注意,并非所有更改都是自动完成的。
    最明显的是,列不会仅仅因为从数据库中删除而从模型中删除。如果要处理大量的修改或删除而不是添加,那么最好删除模型并重新创建它(如Andrew所建议)。

    无论您采取哪种方法,我建议您在开始之前确保已提交或搁置所有其他本地源代码更改,因为如果EF崩溃,您可能需要执行撤消检查。

    双击edmx文件。这将打开数据库模型的关系图。 右键单击并选择“从数据库更新模型…” 这将启动您要查找的向导

    请注意,并非所有更改都是自动完成的。
    最明显的是,列不会仅仅因为从数据库中删除而从模型中删除。如果要处理大量的修改或删除而不是添加,那么最好删除模型并重新创建它(如Andrew所建议)。

    无论您采取哪种方法,我建议您在开始之前确保已提交或搁置所有其他本地源代码更改,因为如果EF崩溃,您可能需要执行撤消检查。

    我最终下载了VS 2012的更新并进行了修复。现在我可以更新我的模型了。

    我下载了VS 2012的更新并修复了它。现在我可以更新我的模型了。

    那么您是使用“代码优先”还是“edmx”?使用“代码优先”时,您应该将属性添加到模型中,而不是添加到数据库中。@DanielA.White我使用的是数据库优先。那么您是使用“代码优先”还是“edmx”?使用“代码优先”时,您应该将属性添加到模型中,不是先到db。@DanielA.White我先用db。我回答了我自己的问题,我必须修补我的VS 2012。我回答了我自己的问题,我必须修补我的VS 2012