2009-09-16 74 views
1

我有下面的代碼,這是爲了給特定的功能,但它不是:S功能NHibernate HasManyToMany()保存/更新問題

無論如何,這裏是我的問題:

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(如果它已經存在,它將從其相應的行中移除並分配給新行,有什麼想法?

+0

對於圖片很小,我並沒有注意到哪些信息:S – Saeedouv 2009-09-16 10:29:54

回答

0

您是否看上過製作您的ManyToMany work by convention

鏈接示例實際上是指角色和幾乎你在這裏要做的。

+0

謝謝,但是在進行一些更改(如發佈的鏈接)後,它似乎也是同樣的問題。 – Saeedouv 2009-09-16 11:22:04