2011-11-10 72 views
0

我有ProductVariant表這種映射:CompositeId +的hasMany雙打領域在DB

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表的外鍵。 他們總是有相同的數據

但我只需要一個字段。我怎樣才能做到這一點?

回答

1

看起來像一個常規競賽。指定HasMany(x => x.TestCaseOrdered).KeyColumn("ProductVariantId");.KeyReference(x => x.ProductVariant, "ProductVariantId");應該解決它