Nhibernate 复合ID+;HasMany使数据库中的字段加倍

Nhibernate 复合ID+;HasMany使数据库中的字段加倍,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我对ProductVariant表有这样的映射: Id(x => x.Id).Nullable(); Map(x => x.IsEnabled); Map(x => x.ProductVariantName).Length(45); Map(x => x.Description); HasMany(x => x.TestCaseOrdered); Map(x => x.CreatedDate); 还有TestCaseOrder类,如下所示: Composi

我对ProductVariant表有这样的映射:

Id(x => x.Id).Nullable();
Map(x => x.IsEnabled);
Map(x => x.ProductVariantName).Length(45);
Map(x => x.Description);
HasMany(x => x.TestCaseOrdered);
Map(x => x.CreatedDate);
还有TestCaseOrder类,如下所示:

 CompositeId().KeyReference(x => x.TestCaseData).KeyReference(x => x.ProductVariant);
 Map(x => x.TestCaseOrder);
 Map(x => x.TestCaseSetName).Length(45);
但NHibernate会生成带有两个ProductVariant列的表TestCaseOrder:

1) 具有主键且不为Null的ProductVariant

2) ProductVariatid类似于ProductVariant表的外键。 它们总是有相同的数据


但我只需要一个字段。我怎样才能做到这一点呢?

似乎是惯例不匹配。指定
HasMany(x=>x.TestCaseOrdered).KeyColumn(“ProductVariantId”)
.KeyReference(x=>x.ProductVariant,“ProductVariantId”)应该可以解决它