Question

J'ai le code suivant, qui est supposé donner des fonctionnalités spécifiques mais ce n'est pas: S

de toute façon, voici mon problème:

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

voici le code de mappage:

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

    }


}

mon problème, c’est lorsqu’on essaie (d’attribuer un rôle à un utilisateur spécifique) que le nom d’utilisateur est ajouté à la table UserInRoles mais que l’ID de rôle, s’il existe déjà, sera supprimé de la ligne correspondante et attribué à la nouvelle ligne. ?

Était-ce utile?

La solution

Avez-vous envisagé de faire votre de nombreux travaux par convention ?

L'exemple lié fait en réalité référence aux rôles et à ce que vous essayez de faire ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top