2010-11-18 66 views
0

考慮下面的代碼:引用不級聯

class PrivilegeMap : IAutoMappingOverride<Privilege> 
{ 
    public void Override(FluentNHibernate.Automapping.AutoMapping<Privilege> mapping) 
    { 
     mapping.Table("Privileges"); 

     mapping.References<Role>(x => x.Role) 
      .Cascade.All(); 

     mapping.Map(x => x.Access); 
    } 
} 

在我的代碼,然後創建其中有幾個權限的用戶。當試圖保存用戶時,這會導致程序崩潰:「對象引用未保存的瞬態實例」它聲稱角色對象不是保存。我如何獲得級聯?

回答

0

您沒有顯示User類的映射。你有Cascade.All();在角色propery?它是一個參考,一個HasMany或一個HasManyToMany?

0

我只是說了一下,並改爲靜態映射,而不是覆蓋所有我不喜歡的東西。它現在以我想要的方式工作。