流畅的NHibernate - 多对多和复合键

时间:2011-02-14 18:47:03

标签: nhibernate fluent-nhibernate mapping

在我的应用程序中,我有3个实体:

class User
{
    public List<Role> Roles { get; protected set; }
}

class Role
{
    public List<User> Users { get; protected set; }
}

internal class UserInRole
{
    public User User { get; protected set; }
    public Role Role { get; protected set; }
    public string Flag { get; protected set; }
}

(是的,我知道可以在没有UserInRole实体的情况下创建多对多关系,但我需要它)

结果我想要3张桌子。表UserInRole必须具有UserId和RoleId的组合键。现在我的UserInRole映射如下所示:

CompositeId()
    .KeyReference(x => x.User)
    .KeyReference(x => x.Role);

但它不起作用。

任何帮助?

1 个答案:

答案 0 :(得分:-3)

听起来你正试图用NHibernate实现asp.net Membership和Roles提供程序......

我是对的吗?

如果是这样,不要浪费时间重新发明轮子。 Check this out