簡體   English   中英

具有復合主鍵/外鍵的流暢Nhibernate每實體表映射

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM