0

我有两个具有 m:n 关系的实体、组和动作。从 UI 中,可以将操作添加到组中,反之亦然。关联表包含“group_id”和“action_id”列,因此两个实体都指定了“hasmanytomany”关系。现在,如何从两端添加/删除项目,即,

newGroup.Actions.Add(newAction);

newAction.Groups.Add(newGroup);

从文档中,指定 inverse 只允许从一端进行修改。

4

1 回答 1

0

我在为我执行此操作的实体上使用添加和删除方法。下面是用户/组方案的示例。

public class Group : Entity
{
    //Constructors and properties omitted

    public virtual void AddUser(User user)
    {
        if (users.Contains(user))
            return;

        users.Add(user);
        user.AddGroup(this);
    }

    public virtual void RemoveUser(User user)
    {
        if (!users.Contains(user))
            return;

        users.Remove(user);
        user.RemoveGroup(this);
    }
}
于 2012-09-12T11:55:11.520 回答