EF架构~多对多关系的实现与更新原理(多主键关系表不见)


对于多对多关系,我们需要引入第三张表,一般我们称它为关系表,关系表不需要自已的主键,而是通过相关表的主键进行组合,我们一般称为多主键,下面看一下菜单表与角色表,它们是一种多对多关系的结构。

一般地,我们手动更新多对多关系表时,方法是:删除原来关系,插入新关系,而EF的作法不是这样,它是先比较现在有集合与数据表里的内容是否相同,如果相同不进行操作,如果没有就插入,如果有就删除,性能上有了一个提升!

在EF的模型中,这种多对多的纯关系把不会出现在模型里,而是直接用实体集合代替,这样关系更直接了,觉得这种设计不错

在MVC架构开发中,需要注意的是,你的集合对象的表单元素名称必须写完整,如果是role下面的WebManageMenus则表单元素名称要写成WebManageMenus.MenuID,这样EF才会把它正确的翻译成多对多关系表,否则会出现重复主键更新的问题。

OK,这样,关系表就可以正常的更新了,SQL产生的结果也是我们可以接受的

感谢您的阅读!感谢EF架构!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM