2011-09-07 94 views
1

Database Diagram實體框架多對多的瘋狂

好的,不要爲我的下面的數據庫結構射擊。我繼承了這個,我沒有創建它。我想要做的是簡化我的生活。我目前正在使用EF 4.1 Code First,並且我知道如何通過帶有流暢api的表執行多對多映射,但我完全失去了如何處理這種結構。 Bascially我希望能夠通過使用單個導航屬性從IDB_interface表映射到IDB_AddressIPv4表?但是,我猜這是不可能的?任何建設性的想法或建議將不勝感激。從頭開始不是選項或更改數據庫結構。

在此先感謝。

+0

不符合設計,我不這麼認爲。 –

+0

只需在黑暗中拍攝一張照片,但是您能否爲數據庫添加一層視圖,從而爲EF提供更加健全的關係模型? –

+0

因爲我面臨類似的情況,我不相信EF有可能。一種解決方案是通過遍歷映射表來創建帶有方法的擴展類,以便爲指定的「IDB_Interface」檢索「IDB_AddressIPv4」。這至少可以簡化您的通話,不會重複使用代碼。 – shuniar

回答

2

你必須住在你有的結構中。 EF代碼首先沒有工具來幫助你。它只能簡化與單結點表的多對多關係而無需附加數據 - 這不是你的情況。

這是一個在EF上添加附加層的真正方便的例子,它可以將您的模型簡化爲所需的實體,並且您的持久性邏輯將其轉換爲此恐怖。

+0

那麼我可以在這種情況下使用EF嗎?我無法讓地圖在沒有任何簡化的情況下工作。我可以將一個layer3地址的集合映射到一個接口,但對於layer3對象的一個​​實例,InterfaceIPv4表沒有映射? –