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 に答える