我有多个对象意味着来自通量的各个步骤(每个对象是一个步骤),它们将被保留在DB中。
我正在考虑创建一个关系表,我将拥有每个关联,每行只有一个关系。例如,每个例子:
并澄清:
等......
在表格中引用:
我怎么能把它映射成类似的东西:
public class Klass
{
public uint Id { get; set; }
public IList<Step> Steps { get; set; }
}
public abstract class Step
{
public uint Id { get; set; }
public abstract void Apply();
}
public class Course : Step
{
//( some more fields )
public override void Apply() { /* ... */ }
}
public class Evaluation : Step
{
//( some other more fields )
public override void Apply() { /* ... */ }
}
答案 0 :(得分:1)
您可以使用这样的继承映射:
<class name="Step" table="STEP">
<id name="Id" type="Int64" column="STEP_ID">
<generator class="native"/>
</id>
<property name="Amount" column="AMOUNT"/>
...
<joined-subclass name="Course" table="COURSE">
<key column="STEP_ID"/>
...
</joined-subclass>
<joined-subclass name="Evaluation" table="EVALUATION">
<key column="STEP_ID"/>
...
</joined-subclass>
</class>
进一步阅读:inheritance mapping