码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-07-14 18:23:42      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:ef   修改关系   多对多   

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

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

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

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

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

下面分享下实现过程:

1、前台传参。

EditID,Name,NewRole

2、后台接收。

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

接收并处理好Role对象。

3、处理数据。

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

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

u.Roles.Clear();//清理角色,这个为啥我也不清楚。没有的话,正常运行会报错,但是调试不报错,很奇怪。这个我也是自己试出来的。

u.Roles=NewRole;//给角色赋值。

4、提交数据库即可。

db.SaveChanges();

简单的说原理,就是修改关系,必须得是从数据库查出的实体,感觉凭技术,EF应该是可以实现的。

有其他方法的朋友可以分享下。

经验总结18--EF修改关系,多对多,布布扣,bubuko.com

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

标签:ef   修改关系   多对多   

原文地址:http://blog.csdn.net/qijunming1208/article/details/37764409

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!