3

我试图在 VS2012 中使用管理 MVC4 项目、网站 MVC4 项目和通用实体框架 dll 项目创建一个新项目。

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

我尝试使用实体框架添加 MVC 控制器并收到错误。该错误表明我的实体没有具有某些名称的属性。碰巧它抱怨的名字是我在实体设计器中重命名的名字。所以我运行了 Clean Solution,重建,并尝试再次添加控制器......同样的错误。

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

实体设计器、错误和 ILSpy 输出的屏幕截图

这是一个错误吗?难道我做错了什么?


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

4

2 回答 2

2

当 EDMX 不在项目目录的根目录中时,报告了导致此问题的错误当您将 EDMX 放入子文件夹时,您必须手动运行自定义工具来重新生成类。

于 2012-09-27T13:03:25.570 回答
2

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

于 2012-11-27T05:53:15.143 回答