C# 首先更新MVC数据库以反映数据库更改
我是MVC新手,必须更新我的模型 我的项目已经连接了一个SQL Server数据库,今天我添加了一个新列。现在我需要更新我的MVC代码以反映更改 所有联机内容都告诉我使用更新模型向导更新.edmx和.tt文件,因为它们是自动生成的,但我在VS 2012中找不到该向导,因此我处于停滞状态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中找不到该向导,因此我处于停滞状态 我应该这样做对吗?任何提示都很好…谢谢您可以选择以下几种方法: 如果数据库是空的或者没有太多您关心的数据,您可以删除数据库并重新创建它 在数据库中手动添加列(在属性位于模型中之后) 有一种称为代码优先迁移的方法。
我应该这样做对吗?任何提示都很好…谢谢您可以选择以下几种方法:
您可以做以下几个选择:
双击edmx文件。这将打开数据库模型的关系图。 右键单击并选择“从数据库更新模型…” 这将启动您要查找的向导 请注意,并非所有更改都是自动完成的。
最明显的是,列不会仅仅因为从数据库中删除而从模型中删除。如果要处理大量的修改或删除而不是添加,那么最好删除模型并重新创建它(如Andrew所建议)。
无论您采取哪种方法,我建议您在开始之前确保已提交或搁置所有其他本地源代码更改,因为如果EF崩溃,您可能需要执行撤消检查。双击edmx文件。这将打开数据库模型的关系图。 右键单击并选择“从数据库更新模型…” 这将启动您要查找的向导 请注意,并非所有更改都是自动完成的。
最明显的是,列不会仅仅因为从数据库中删除而从模型中删除。如果要处理大量的修改或删除而不是添加,那么最好删除模型并重新创建它(如Andrew所建议)。
无论您采取哪种方法,我建议您在开始之前确保已提交或搁置所有其他本地源代码更改,因为如果EF崩溃,您可能需要执行撤消检查。我最终下载了VS 2012的更新并进行了修复。现在我可以更新我的模型了。我下载了VS 2012的更新并修复了它。现在我可以更新我的模型了。那么您是使用“代码优先”还是“edmx”?使用“代码优先”时,您应该将属性添加到模型中,而不是添加到数据库中。@DanielA.White我使用的是数据库优先。那么您是使用“代码优先”还是“edmx”?使用“代码优先”时,您应该将属性添加到模型中,不是先到db。@DanielA.White我先用db。我回答了我自己的问题,我必须修补我的VS 2012。我回答了我自己的问题,我必须修补我的VS 2012