0

我有一个多对多的用户/角色关系。

没关系,当我将新用户插入数据库并将其添加到某些角色时。

但是,如何从用户中删除一些角色?我不想完全删除用户或角色,我只想: 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; }
}
4

1 回答 1

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);
}

这只是将每个项目添加到另一个角色/用户列表中。

于 2012-12-16T09:32:33.037 回答