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

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值