2009-09-16 5 views
1

i ont le code suivant, qui est censé donner des fonctionnalités spécifiques, mais il n'est pas: SCourant NHibernate HasManyToMany() Save/Mise à jour Problème

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

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

est ici le code de mapping:

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 est en essayant de (attribuer un rôle pour un utilisateur spécifique) le nom est ajouté à la table UserInRoles mais la Identifiant de rôle s'il existe déjà, il sera supprimé de sa ligne corrospondante et affecté à la nouvelle ligne, une idée?

+0

désolé pour l'image qu'il est petit, je n'ai pas remarqué que l'affichage: S – Saeedouv

Répondre

0

Avez-vous regardé faire votre ManyToMany work by convention?

L'exemple lié fait référence aux Rôles et à peu près ce que vous essayez de faire ici.

+0

Merci, mais il semble que le même problème après avoir apporté quelques modifications (comme dans le lien que vous avez posté). – Saeedouv

Questions connexes