[英]Fluent Nhibernate Table-Per-Entity Mapping with Composite Primary/Foreign Keys
在.hbm.xml中,我要執行的映射如下所示-知道如何在Fluent NHibernate中重現它嗎?
<class name="Dinosaur" table="Dinosaur" >
<composite-id>
<key-property name="Id" column="Id"/>
<key-property name="Period" column="Period"/>
</composite-id>
<property name="DinosaurType" column="DinosaurType" />
<joined-subclass name="Tyranosaur" table="Tyranosaur">
<key>
<column name="DinosaurId"/>
<column name="DinosaurPeriod"/>
</key>
<property name="NumberOfTeeth">
<column name="NumberOfTeeth">
</column>
</property>
</joined-subclass>
此刻我有
public class DinosaurMap : ClassMap<Dinosaur>
{
public DinosaurMap()
{
Table("Dinosaur");
CompositeId()
.KeyProperty(x => x.Id, "Id")
.KeyProperty(x => x.Period, "Period")
;
Map(x=>x.DinosaurType)
;
}
}
public class TyranosaurMap : SubclassMap<Tyranosaur>
{
public TyranosaurMap()
{
Map(x=>x.NumberOfTeeth);
}
}
但我不知道如何在Tyranosaur SubclassMap中指定組合鍵。 NHibernate問題追蹤器上的一個問題表明,此問題已在1.0 RTM版本中修復(我正在使用1.0.0.593)
找到了答案-您需要多次調用.KeyColumn方法以添加列-也許.AddKeyColumn會是一個更好的名稱...?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.