映射到一个数组
问题描述:
的元件I具有类父至极含有3 儿童类对象数组(儿童[] ChildArray)。 我有一个数据库表MyTable的与字段[FLD_01],[FLD_02],[FLD_03]。 我如何[FLD_01]映射到ChildArray [0],[FLD_02]到ChildArray [1]等?映射到一个数组
答
我想解决这样的:
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
@npeBeg:想知道:你是否知道RDMBS中的一对多关系? – 2009-10-07 14:30:11
可惜我不能改变数据库的结构,所以我可以做的唯一的事情就是进行这种“直肠病的方法,”尽管我哭,每次我期待到DB:'( – npeBeg 2009-10-08 06:39:55