我有多对多的用户/角色关系。
当我将新用户插入数据库并将其添加到某些角色时,没关系。
但是,如何从用户中删除某些角色?我不想完全删除用户或角色,我只想: 1.从用户中删除一些角色; 2.为用户分配新角色。
我的课程:
public class User
{
public int Id { get; set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public List<Role> Roles { get; set; }
}
public class Role
{
public int Id { get; set; }
public virtual string Name { get; set; }
public List<User> Users { get; set; }
}
答案 0 :(得分:1)
我并不完全清楚你要求的是什么,但我认为你希望能够从用户中移除一个角色,并从适当的角色中删除该用户?
如果是这样,您将了解用户和角色,对于这个简单的案例,您希望使用List.Remove函数。
void RemUserRole(User u, Role r)
{
u.Roles.Remove(r);
r.Users.Remove(u);
}
这将删除每个角色和用户的相关列表中的项目。
编辑:
要向用户添加新角色,请使用List.Add方法。
void AddUserRole(User u, Role r)
{
u.Roles.Add(r);
r.Users.Add(u);
}
这只是将每个项目添加到另一个角色/用户列表中。