2011-03-21 25 views
1

我正在開發基於舊數據庫的新應用程序。舊的遺留數據庫不使用引用完整性,首先我們嘗試不更改現有的模式。我仍然希望能夠在EF生成的POCO類中使用導航屬性。在唯一鍵上創建關聯EDM模型

但是,舊的數據模型在子 - 父關係方面存在一個大問題:子表中的列通過父代的uniqe鍵引用父表,而不是通過父表的主鍵引用父表。還有可能產生這種關聯嗎?

我試圖將父表中的唯一鍵標記爲「實體鍵」,但是仍然需要爲父表的主鍵提供映射,這是我無法訪問的,因爲沒有可用的映射,這個主要只是一個虛擬的「櫃檯」。如果我沒有提供主鍵映射,我得到 「錯誤111:由主體角色XXX引用的屬性必須與關係ZZZ的關係約束中的主體角色引用的實體類型YYY的鍵完全相同。確保所有關鍵屬性都在主體角色中指定「

回答

0

沒有EF根本不支持唯一鍵。下一個主要版本是hopefully planned feature

+0

對我來說壞消息:(但是還是要謝謝你的惡意代碼 – 2011-03-21 11:37:57

+0

這是我的解決方法:我在子表中創建了一個新的列,其中包含對父表的主鍵的引用現在我在子表 - 從父表中引用uniqe鍵,並從父表中引用主鍵。這不是很好,我知道,但我必須忍受這一點,因爲它可能是唯一的解決方案,除了生成我的我希望支持Unique Keys的新EF能很快上市,這樣我就可以刪除這個副本。再次感謝Ladislav。 – 2011-03-22 14:52:38