映射到数组的元素

时间:2009-10-07 11:23:03

标签: c# arrays nhibernate mapping

我有 ,其中包含3个 对象的数组( Child [] ChildArray )。 我有数据库表 MyTable ,字段 [FLD_01] [FLD_02] [FLD_03] 即可。 如何将 [FLD_01] 映射到 ChildArray [0] [FLD_02] ChildArray [1] 等?

1 个答案:

答案 0 :(得分:0)

我会这样解决:

class Parent
{

  public Parent()
  {
    Children = new Child[3];
  }

  public Child[] Children { get; private set; }

  private Child1 { get { return Child[0]; } set { Child[0] = value; } }
  private Child2 { get { return Child[1]; } set { Child[1] = value; } }
  private Child3 { get { return Child[2]; } set { Child[2] = value; } }
}

轻松将其作为单独的属性进行映射。

<property name="Child1" />
<property name="Child2" />
<property name="Child3" />

可能最好的解决方案是将其映射到另一个表格。

<array table="Children">
  <key name="Parent_FK"/>
  <index name="array_index"/>
  <composite-element>
    <property name="Foo"/>
    <property name="Bar"/>
  </composite-element>
</array>