如何解决多对多关系表无法更新与插入的问题
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,如何解决多对多关系表无法更新与插入的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在EF里,我们设计模型时,会设计到
千家信息网最后更新 2025年11月07日如何解决多对多关系表无法更新与插入的问题
如何解决多对多关系表无法更新与插入的问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在EF里,我们设计模型时,会设计到多对多关系,在EF里会把这种关系会转成两个一对多的关系表,这是比较友好的,因为多对多来说,对于业务本身没什么意思,所以隐藏了,没什么坏处,但对于这个隐藏来说,对开发人员来讲你就无法主动控制这张关系表了,而需要使用EF的update来更新主表的同时去更新关系表,这对于初学者会出现一些问题,今天说的就是多对多关系无法更新和插入的问题。
数据结构
public partial class WebManageRoles : Lind.DDD.Domain.Entity{public WebManageRoles(){this.WebManageMenus = new List();this.WebManageUsers = new List();}[DisplayName("名称"), Required]public string RoleName { get; set; }[DisplayName("关于")]public string About { get; set; }[DisplayName("排序"), Required]public int SortNumber { get; set; }[DisplayName("最后操作人")]public string Operator { get; set; }[DisplayName("权限"), Required]public int OperatorAuthority { get; set; }[DisplayName("部门"), Required]public int DepartmentID { get; set; }public virtual WebDepartments WebDepartments { get; set; }public virtual ICollection WebManageMenus { get; set; }public virtual ICollection WebManageUsers { get; set; }} 关于AutoDetectChangesEnabled
参考:https://msdn.microsoft.com/en-us/data/jj556205.aspx
大叔的解释,当AutoDetectChangesEnabled为true时,可以加载依赖的关系,在插入和更新时会有同步完成(多对多,一对多关系时使用),当值为false时,只更新(插入)主表的数据
问题解决
old.WebManageMenus = menuRepository.GetModel(i => menu.Contains(i.Id)).ToList();old.DepartmentID = dept;old.RoleName = entity.RoleName;old.SortNumber = entity.SortNumber;old.About = entity.About;old.DataUpdateDateTime = DateTime.Now;roleRepository.Update(old);
在数据上下文中的设置
public ManagerContext(): base("DefaultConnection"){this.Configuration.AutoDetectChangesEnabled = true;//对多对多,一对多进行curd操作时需要为truethis.Configuration.LazyLoadingEnabled = false;this.Configuration.ProxyCreationEnabled = false;//禁止动态拦截System.Data.Entity.DynamicProxies.}看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
更新
问题
数据
没什么
帮助
设计
清楚
主动
上下
上下文
业务
两个
人员
内容
初学者
动态
同时
名称
坏处
大叔
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
HCNA网络技术课程设计目的
计算网络安全ppt
上古世纪怎么选服务器
软件开发35岁后如何转行
地理信息的数据库结构形式有哪些
河北应用软件开发如何收费
网络技术发展前沿知识
僵尸毁灭工程进服务器闪退
交换机和服务器什么关系
嘉兴基础网络技术推荐咨询
安庆联想服务器阵列卡稳定保障
软件开发兼职协议
来电归属地 Qc 数据库
黄埔区正规网络技术开发工艺
高峰互联网科技有限公司
抗疫用了哪些网络技术
网络安全英语作文150字高中
姑苏区智能服务器市面价
服务器散热器用途
darc数据库
盐城市网络安全保卫支队
软件开发项目掩饰
什么都不懂的人怎么做软件开发
贵州安卓软件开发平台
数据库改学分
常用服务器操作系统
优化网络安全技术
java备份数据库表工具
看门狗2游戏内连接服务器
交通运输局网络安全工作报告