2010-12-23 54 views
0

我有以下流利的映射设置为一个实体:流利NHibernate的问题与创建多列唯一索引

 *Id(x => x.Id); 
     References(x => x.UserNominee).UniqueKey("UQ_SurveyNominee"); 
     References(x => x.SurveyRequest).UniqueKey("UQ_SurveyNominee"); 

     Map(x => x.NominationDate).Not.Nullable();* 

不幸的是,唯一索引列上的一个上产生的SQL Server表只创建不像我预料的那样。我究竟做错了什么?

问候

MJJ

回答

0

OK我设法得到这个工作,但我不知道为什么它应该有任何区别。我必须更改父“SurveyRequest”实体上的映射。我从改变的映射:

 HasMany(x => x.SurveyAwarenessNominees) 
      .KeyColumn("SurveyRequest_Id") 
      .LazyLoad() 
      .Inverse() 
      ; 

的hasMany(X => x.SurveyAwarenessNominees).Cascade.All()反向();

我的唯一索引现在可以在两个外键列上正确创建。

+0

进一步调查显示它是父映射中的“.KeyColumn(”SurveyRequest_Id“)”语句,这是造成问题的根本原因。没有KeyColumn部分的原始父映射工作得很好。 – 2010-12-23 10:35:01