【问题标题】:Entity Framework Code First: Many-to-Many relationship; Remove some Roles from the UserEntity Framework Code First:多对多关系;从用户中删除一些角色
【发布时间】:2012-12-16 09:20:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# entity-framework ef-code-first many-to-many


    【解决方案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);
    }
    

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

    【讨论】:

    • 谢谢。这正是我一直在寻找的
    猜你喜欢
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    相关资源
    最近更新 更多