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();

    }


}

私の問題は、(特定のユーザーにロールを割り当てる)UserNameをテーブルUserInRolesに追加しようとしたときに、ロールIDがすでに存在する場合は、対応する行から削除されて新しい行に割り当てられるということです。

4

1 に答える 1

0

ManyToMany を規則に従って機能させる方法を検討しましたか?

リンクされた例は、実際にはロールと、ここでやろうとしていることのほとんどを指しています。

于 2009-09-16T10:38:03.647 に答える