2012-02-13 38 views
1

EF新手,嘗試使用「數據庫優先」。EF數據庫優先 - 映射錯誤3025

Error 3025: ... :Must specify mapping for all key properties 
        (PurchaseUsers.PurchaseUsersId) of table PurchaseUsers. 

我有我的數據庫3個表:

Purchases  Participants  PurchaseUsers 
PurchaseId  ParticipantId  PurchaseUsersId 
...    ...     PurchaseId 
            ParticipantID 

PurchaseUsers是知道使用買下了參與者(S)是(是)。

起初我沒有在該表上的PK,但後來當我試圖保存Purchase時出現以下錯誤。 谷歌搜索後,我發現我不得不添加一個PK來避免這個錯誤。

Unable to update the EntitySet 'PurchaseUsers' because it has a DefiningQuery 
    and no <InsertFunction> element exists in the <ModificationFunctionMapping> element 
    to support the current operation. 

但添加PK創建映射錯誤,我只是無法弄清楚如何解決這個問題或創建一個映射。 表格PurchaseUsers本身在我的.edmx模型中不可見,但它在模型瀏覽器的商店中列出。

謝謝。

UPDATE

當天更改數據庫中的一列的名稱。 「從數據庫更新模型」將新列名添加到模型中的表中,但未刪除舊列名。 不得不再次從頭開始。 看起來更新功能不能很好地工作。

+0

在數據庫中添加主鍵之後,是否更新過模型(在設計器中)? – Pawel 2012-02-14 05:19:18

+0

@Pawel是的,我做到了。在那一刻,我得到了3025錯誤。這些關係也是在db級別上設置的。在我的模型中,表參與者和購買之間存在一個mazny-to-many關係。我想這就是事情出錯的地方,因爲橋表不在模型中連接這兩個表。 – Koen 2012-02-14 07:25:17

+0

這很奇怪。你是否嘗試過完全刪除模型並從頭開始創建?如果這個窗臺不適合你 - 你能發佈一個最小的repro? – Pawel 2012-02-14 21:16:53

回答

1

這很奇怪。從數據庫更新模型應使模型和數據庫同步。嘗試從頭開始刪除並重新創建模型。