Fluent nhibernate 创建多列唯一索引的Fluent NHibernate问题

Fluent nhibernate 创建多列唯一索引的Fluent NHibernate问题,fluent-nhibernate,unique-key,Fluent Nhibernate,Unique Key,我为实体设置了以下fluent映射: *Id(x => x.Id); References(x => x.UserNominee).UniqueKey("UQ_SurveyNominee"); References(x => x.SurveyRequest).UniqueKey("UQ_SurveyNominee"); Map(x => x.NominationDate).Not.Nullable();*

我为实体设置了以下fluent映射:

        *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

好的,我已经设法让它工作了,但我不确定为什么它会有任何不同。我必须更改父“SurveyRequest”实体上的映射。我将映射更改为:

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

HasMany(x=>x.surveyawarenessnomines).Cascade.All().Inverse()


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

进一步调查表明,父映射中的“.KeyColumn”(“SurveyRequest_Id”)”语句是问题的根本原因。没有KeyColumn部分的原始父映射工作正常。