2012-11-03 173 views
1

我有一个配置文件对象链接到一个细节对象(1到1)。所以在我的配置文件对象中,我将细节对象作为一个属性,我尝试使用HasOne映射来映射细节对象。在保存配置文件时,它将在数据库和详细信息条目中创建一个配置文件条目;但是,详细信息对象上的profileId是Guid.Empty。它不使用对配置文件中的ID,它的产生和保存详细信息:NHibernate保存对象

任何想法?在此先感谢

下面是我的地图:

public ProfileMap() : base(ESchema.Usr, ETable.Profile) 
     { 
      Id(x => x.Id).GeneratedBy.GuidComb(); 
      Map(x => x.MembershipId); 
      Map(x => x.FirstName); 
      Map(x => x.LastName); 
      Map(x => x.Gender).CustomType<EGender>(); 
      Map(x => x.BirthDate); 
      Map(x => x.IsActive); 

      HasOne(x => x.Details).PropertyRef(x => x.ProfileId).Cascade.All(); 
      //References(x => x.ProfileImage).Column("ProfileId"); 
     } 

public DetailMap() : base(ESchema.Usr, ETable.Detail) 
     { 
      Id(x => x.Id).GeneratedBy.GuidComb(); 
      Map(x => x.ProfileId); 
      Map(x => x.Height); 
      Map(x => x.Weight); 
     } 

回答