我有一個linq實體映射問題。我有三張桌子。Linq映射與1到0.1關係的問題
表1 - ItemsB(ID(密鑰),零件號碼(將是空的,直到建),其他b項信息)
表2 - ItemsA(ID(密鑰),零件號碼(將是空的,直到建),其他項目信息)
表3 - WebItems(Item_id,Web項目信息)*由ItemsB和ItemsA構建並推送到此表後的項目組成。
ItemsA/ItemsB將與WebItems有1到0.1的關係。 Part_Number映射到Item_id。
我正在使用EF4.0。
問題是如上所述我建立關聯/映射後,我得到一個錯誤消息,指出:「映射片段在行左右等問題:列[Part_Number]被映射到兩個片段不同的概念側屬性「。
通常我知道該怎麼辦。擺脫財產[Part_Number]。問題是我需要很頻繁地訪問ItemsB和ItemsA中的[Part_Number],而不必訪問webitems。更何況webitems並不總是有[Part_Number]填充在某些點取決於項目是否被推送到webitems。
有誰知道如何解決這個問題?
在此先感謝。
Ladislav,我更新了我的ItemA和ItemB表,表明Part_Number不是這些表中的主鍵(對此很抱歉)。所以據我瞭解ItemA/ItemB與WebItem的關係爲1到0.1。原因在於ItemA在WebItem中不存在,直到它被構建時,此時將只有1個匹配項。 ItemB也一樣。這有意義嗎?我會看看你的評論,看看它是否仍然適用。感謝您的回覆 – 2011-05-02 19:23:33
它可能是有道理的,但在EF中是不可能的。任何一對一關係都基於FK的唯一性。這意味着FK必須是主鍵或唯一鍵。問題在於EF根本不支持唯一鍵,並且因爲一對一關係只能在共享主鍵上建模。 – 2011-05-02 19:36:23
我明白了,我認爲這將是答案。在這種情況下將不得不走SP路線。感謝您的時間。 – 2011-05-02 19:38:37