3

我試圖在VS2012中創建一個新的項目,其中包含Administrative MVC4項目,Website MVC4項目和Common Entity Framework dll項目。VS2012中的實體框架問題 - 重命名不粘連的屬性

我使用了現有的數據庫和數據庫,並從中生成了我的實體。我更新了一些關係屬性的名稱並保存。然後,我將實體框架項目的引用添加到了我的兩個MVC項目中,將實體框架連接字符串從App.config文件複製到每個Web.config文件,並確保我引用了同一個System.Data.Entity程序集全部3個項目。

我試圖添加一個使用實體框架的MVC控制器並收到錯誤。錯誤指出我的實體沒有某些名稱的財產。它剛剛發生的那些名字是我在Entity Designer中重新命名的。所以我運行Clean Solution,重新構建,並試圖再次添加控制器...相同的錯誤。

因爲它抱怨說它沒有特定名稱的屬性,所以我使用ILSpy來檢查生成的程序集。果然,它並沒有包含我在實體設計師中賦予屬性的名稱。下面是一個Designer界面的照片,顯示我重命名了類(是的,我保存了它),試圖添加MVC控制器時收到的錯誤消息,以及ILSpy輸出,顯示輸出中沒有正確重命名屬性部件。

Screen shot of entity designer, error, and ILSpy output

這是一個錯誤?難道我做錯了什麼?


更新:似乎.tt文件不會在更改.edmx設計時自動觸發和重新生成實體。不知道我需要做些什麼來讓他們在保存edmx時自動運行?

+0

您是否在項目根目錄或子文件夾中有EDMX?當EDMX不在根目錄下時,會出現一個導致此問題的錯誤。 –

+0

這是一個新的.edmx創建在一個子文件夾中(我提到這是因爲我看到了在一個文件夾中創建.edmx然後將其移動到另一個文件夾中的問題)。你有一個錯誤報告的鏈接?我似乎無法找到它。謝謝! – Sam

+1

http://entityframework.codeplex.com/workitem/453 –

回答

2

存在reported bug當EDMX不在項目目錄的根目錄下時會導致此問題。將EDMX放入子文件夾時,必須手動運行自定義工具以重新生成類。