VS2012中的实体框架问题 - 重命名不粘贴的属性

时间:2012-09-04 03:45:26

标签: asp.net asp.net-mvc visual-studio entity-framework visual-studio-2012

我试图在VS2012中使用Administrative MVC4项目,Website MVC4项目和Common Entity Framework dll项目创建一个新项目。

我使用现有数据库和数据库并从中生成我的实体。我更新了一些关系属性的名称并保存了。然后,我将Entity Framework项目的引用添加到我的两个MVC4项目中,将App.config文件中的Entity Framework连接字符串复制到每个Web.config文件中,并确保我引用了相同的System.Data.Entity程序集。所有3个项目。

我尝试使用Entity Framework添加MVC控制器并收到错误。该错误表明我的实体没有具有某些名称的属性。它恰好发生了它所关注的名称是我在实体设计器中重命名的名称。所以我运行了Clean Solution,重新构建了,并尝试再次添加控制器......同样的错误。

由于它抱怨它没有某些名称的属性,我使用ILSpy来检查生成的程序集。果然,它没有遗留我在实体设计师中分配给属性的名称。下面是Designer界面的照片,显示我重命名了类(是的,我保存了它),我在尝试添加MVC控制器时得到的错误消息,以及显示在输出中未正确重命名属性的ILSpy输出组装

Screen shot of entity designer, error, and ILSpy output

这是一个错误吗?我做错了吗?


更新:当我更改.edmx设计时,似乎.tt文件不会自动触发并重新生成实体。在保存edmx时,不确定我需要做什么才能让它们自动运行?

2 个答案:

答案 0 :(得分:2)

当EDMX不在项目目录的根目录中时,会出现reported bug导致此问题。将EDMX放入子文件夹时,必须手动运行自定义工具以重新生成类。

答案 1 :(得分:2)

这已在今天发布的VS 2012 Update 1中修复。您可以从http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update

获取