EF架構~多對多關系的實現與更新原理(多主鍵關系表不見)


對於多對多關系,我們需要引入第三張表,一般我們稱它為關系表,關系表不需要自已的主鍵,而是通過相關表的主鍵進行組合,我們一般稱為多主鍵,下面看一下菜單表與角色表,它們是一種多對多關系的結構。

一般地,我們手動更新多對多關系表時,方法是:刪除原來關系,插入新關系,而EF的作法不是這樣,它是先比較現在有集合與數據表里的內容是否相同,如果相同不進行操作,如果沒有就插入,如果有就刪除,性能上有了一個提升!

在EF的模型中,這種多對多的純關系把不會出現在模型里,而是直接用實體集合代替,這樣關系更直接了,覺得這種設計不錯

在MVC架構開發中,需要注意的是,你的集合對象的表單元素名稱必須寫完整,如果是role下面的WebManageMenus則表單元素名稱要寫成WebManageMenus.MenuID,這樣EF才會把它正確的翻譯成多對多關系表,否則會出現重復主鍵更新的問題。

OK,這樣,關系表就可以正常的更新了,SQL產生的結果也是我們可以接受的

感謝您的閱讀!感謝EF架構!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM