从多个关系中插入来自双方的数据

时间:2012-09-11 19:42:05

标签: nhibernate fluent-nhibernate nhibernate-mapping

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

newGroup.Actions.Add(newAction);

newAction.Groups.Add(newGroup);

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

1 个答案:

答案 0 :(得分: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);
    }
}