zoukankan      html  css  js  c++  java
  • EF架构~多对多关系的实现与更新原理(多主键关系表不见)

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

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

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

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

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

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

  • 相关阅读:
    图文讲解 sqlserver 2000 评测版 数据库过期 的解决方法
    SUSE shell环境语言设置
    Sleep Sort (休眠排序)
    骨干网…
    Linux下随机数
    爱吃苹果的与喜欢篮球的没必要非得达成一致~
    复杂的中国网络.....
    blog迁来迁去的......
    关于application/xwwwformurlencoded的说明
    The Art of Unix Programming
  • 原文地址:https://www.cnblogs.com/lori/p/2995128.html
Copyright © 2011-2022 走看看