EF中多对多关系如何修改的

EF中多对多关系怎么修改的
请教一下。用EF进行多对多关系的修改时。是怎么处理的。比如我用户跟角色。。
我是用codeFirst的方式的,我建了两个类,一个User,一个Role,两个各有一个导航属性ICollection<User> Users,还有ICollection<Role> Roles
我进行修改时,是把用户的角色user.Roles查出来后用foreach全部remove掉,然后再把新的角色添加上。还是有其它比较方便方法


------解决方案--------------------
引用:
我刚接触这个EF。之前都是用SQL语句操作这中间的关系表的。。以前是delete from UserRole where uId=1 这样先删了ID为1的用户的所有用户。然后再insert into 用户新的角色关系记录下去。。不过我在网上查到有一篇文章上面说EF对这种多对多关系的作法不太一样,我就想了解下是不是有更方便的方法,那篇文章http://51kaifa.net/article-149.html

原理我是明白的,但我还是想学多点EF一些方便的东西


按照你贴出引用的这个文章的说法,你只要在你的User对象中修改其Roles集合中的对象,那么EF会自动去逐一更新另外两个表(Role表和中间关联表),也就是把你需要写5、6行代码的工作给自动化了。

你可以测试一下,看看是不是真有那个功能。