1

我有以下代码,它应该提供特定的功能,但它不是:S

无论如何,这是我的问题:

http://img525.imageshack.us/img525/1315/diagramp.png

这是映射代码:

public class UsersMap : ClassMap<User>
{
    public UsersMap()
    {

        this.Table("Users");
        Id(x => x.UserName).GeneratedBy.Assigned();

        Map(x => x.FirstName);
        Map(x => x.LastName);
        Map(x => x.Password);
        Map(x =>x.EMail);
        Map(x => x.Title);
        Map(x => x.Division);
        Map(x => x.Status);

        HasManyToMany(x => x.Roles)
            .Table("UserInRoles").ParentKeyColumn("Username")
            .ChildKeyColumn("RoleId").AsBag().Inverse();


    }
}

public class RolesMap : ClassMap<Role>
{

    public RolesMap()
    {
        this.Table("Roles");
        Id(x => x.ID).GeneratedBy.Assigned();
        Map(x => x.RoleName);

        HasManyToMany(x => x.Users)
            .Table("UserInRoles").ParentKeyColumn("RoleId")
            .ChildKeyColumn("Username").AsBag().Cascade.All();

    }


}

我的问题是当尝试(为特定用户分配角色)时,用户名被添加到表 UserInRoles 但角色 ID 如果它已经存在,它将从对应的行中删除并分配给新行,知道吗?

4

1 回答 1

0

你有没有按照惯例让你的ManyToMany 工作

链接示例实际上是指角色以及您在此处尝试执行的操作。

于 2009-09-16T10:38:03.647 回答