2012-06-28 151 views
0

我有一個名爲 「PublicUserNotification」 表,該表具有以下的列:實體框架 - 導航屬性問題

  1. PublicUserId - 映射到PublicUser.Id
  2. FromPublicUserId - 映射到PublicUser.Id

但是,當我在Visual Studio 2010中更新我的edmx文件時,問題就開始了。

這兩列的導航屬性是設置爲「PublicUser」和「PublicUser_1」。

這使得在這張表上使用EF令人困惑,因爲我們不知道PublicUser_1實際上映射到了哪一個。

因此,我的問題是,有沒有人知道一種方法來阻止這種情況發生,而是讓EF爲這種情況創建「有用的」導航屬性名稱?

回答

0

打開您的edmx文件並右鍵單擊您的設計器。選擇「模型瀏覽器」。 在模型瀏覽器中,您可以瀏覽實體類型並打開表格。如果您選擇導航屬性並打開屬性窗口,則可以更改導航屬性的名稱。

+0

與此問題是,如果由於某種原因開發人員刪除edmx並重新生成它,他們失去這些「特別創建」導航屬性名稱。當然,他們必須成爲解決這個問題的方法嗎? – swade1987

+1

不是我知道的......這在我看來是代碼生成的一個缺點。你根本無法改變它背後的邏輯。 – DirkV