假設我有在DB 3代表的多對多的關係:如何處理EF中的N-N關係?
塔巴(ID1,...):主鍵:ID1
塔布(ID2,...):主鍵:ID2
TabAB(ID1,ID2,...):外鍵:ID1,ID2
所以,當創建EDMX VS 2010中的DB,我只得到兩個實體塔巴和塔布的模型,因爲TabAB無主鍵。
如何用EF處理這種情況?
假設我有在DB 3代表的多對多的關係:如何處理EF中的N-N關係?
塔巴(ID1,...):主鍵:ID1
塔布(ID2,...):主鍵:ID2
TabAB(ID1,ID2,...):外鍵:ID1,ID2
所以,當創建EDMX VS 2010中的DB,我只得到兩個實體塔巴和塔布的模型,因爲TabAB無主鍵。
如何用EF處理這種情況?
你確定EF不只是把TabAB變成了一種關係嗎?如果沒有其他列,它將不會在模型中顯示爲表格。 EF指出TabAB是一個連接表,並對其進行相應處理。
如果不是,最好的方法是將TabAB更改爲id1
和id2
的複合主鍵。如果有一些理由認爲價值組合不是唯一的,那麼研究其原因可能會很好。
常用的方法是處理EF中的多對多關係 - 在存儲中有三個表,在概念模型中只有兩個表。存儲器中的第三個表包含表示引用主表的外鍵的列,並且中間表的主鍵構建在這些引用列上。設計師只是隱藏它:)
正如你猜測的那樣,當我嘗試它時,TabAB(id1,id2)沒有其他列,它也沒有出現在模型中。所以應該沒問題吧? – KentZhou 2011-02-07 19:10:25