私の従来のデータベースでは、次のような状況があります。
TableA (id_A[PK], cod_A)
TableB (id_B[PK], cod_B, id_A[FK])
TableC (id_C[PK], cod_C, id_B[FK])
いくつかの理由から、これらのテーブルを 1 つのクラス (この例では Foo) にマップする必要があります。
public class Foo
{
public virtual string IdA { get; set; }
public virtual string CodA { get; set; }
public virtual string IdB { get; set; }
public virtual string CodB { get; set; }
public virtual string IdC { get; set; }
public virtual string CodC { get; set; }
}
次のマッピングにより、Table1 と Table2 を結合できますが、Table3 は結合できません
<class name="Foo" table="TableA">
<id name="IdA" column="id_A"/>
<property name="CodA" column="cod_A"/>
<join table="TableB">
<key column="id_A"/>
<property name="IdB" column="id_B"/>
<property name="CodB" column="cod_B"/>
</join>
<!--Here my problem because off course the join will be on TableA instead on TableB-->
<join table="TableC">
<key column="id_B"/>
<property name="IdC" column="id_C"/>
<property name="CodC" column="cod_C"/>
</join>
</class>
Table3 をどのようにマッピングできますか?
前もって感謝します。