2010-12-23 78 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