映射到一个数组

映射到一个数组

问题描述:

的元件I具有至极含有3 儿童对象数组(儿童[] ChildArray)。 我有一个数据库表MyTable的与字段[FLD_01][FLD_02][FLD_03]。 我如何[FLD_01]映射到ChildArray [0][FLD_02]ChildArray [1]等?映射到一个数组

+0

@npeBeg:想知道:你是否知道RDMBS中的一对多关系? – 2009-10-07 14:30:11

+0

可惜我不能改变数据库的结构,所以我可以做的唯一的事情就是进行这种“直肠病的方法,”尽管我哭,每次我期待到DB:'( – npeBeg 2009-10-08 06:39:55

我想解决这样的:

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> 
+0

这将是很好,如果我只有3个个子项..但有10个,每个子项包含5场.. 还有没有其他的解决办法吗? – npeBeg 2009-10-07 13:33:07

+0

你总是需要指定所有你在你的映射文件数据库中有列。如果有10次以相同的5场,你需要映射50列,周围也没有办法。如果你想避免它,避免这个50列和整个东西映射到另一个表。 – 2009-10-07 14:24:08