经验总结18--EF修改关系,多对多

本文记录了在使用Entity Framework(EF)处理多对多关系时遇到的问题及解决方案。在尝试修改关系时,发现内存中的更改未同步到数据库。通过研究,找到了问题关键在于清除原有角色并重新赋值。步骤包括:接收前端参数,避免ID冲突,从数据库获取用户实体,更新属性,清理并重新设置角色,最后保存更改。欢迎分享更多有效方法。
摘要由CSDN通过智能技术生成

EF修改关系让我费事蛮多时间,能查的资料少,网上试了很多方法都不对。

最后还是自己研究出来了,在这里和大家分享下,有更好的方法也可以分享下。

首先说说我一般做修改功能时,前台传参数,后台使用对象接收,然后使用实体包含,修改策略,提交数据库即可。(之前应该有文章说过)

但是涉及到关系时,重新赋值后,内存可以改变,但没有更新数据库。

试了很多办法,开始以为是配置的问题,一直找相关的内容,都没效果。

下面分享下实现过程:

1、前台传参。

EditID,Name,NewRole

2、后台接收。

User user,注意接收时,避免EditID和实体ID名字相同,避免实体重复。

接收并处理好Role对象。

3、处理数据。

User u=db.Users.Find(EditID);//从数据库查出实体

u.Name=...//给各属性赋值

u.Roles.Clear();//清理角

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值