我有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)具有主键且不为空的ProductVariant。
2)ProductVariantId类似于ProductVariant表的外键。 它们总是具有相同的数据
但我只需要一个领域。我怎样才能做到这一点?
答案 0 :(得分:1)
似乎是一种惯例。指定HasMany(x => x.TestCaseOrdered).KeyColumn("ProductVariantId");
和
.KeyReference(x => x.ProductVariant, "ProductVariantId");
应该解决它