【发布时间】:2010-10-10 20:28:02
【问题描述】:
我有以下对象模型:
- 一个顶级抽象类
Element,有很多孩子和后代。 - 一类
Event。 - 每个
Element包含一袋Events。 - 每个
Event都有一个指向父Element的指针。
到目前为止 - 非常标准的一对多关系。
但是,我想根据具体的班级策略使用表格。因此,Element 类没有映射到数据库。我试图以这种方式解决它:Element 的每个具体后代都定义了自己的 Events 包。问题在于每个<bag> 元素都包含一个<key> 元素。该键指向Event 的Parent 属性。它还使Events 表中的Parent 列成为包含Bag 的表的外键!但是一列不能是多个表的外键,我在插入时遇到异常。
我还尝试将Events 表中的Parent 字段设为多对任意类型的字段。那行得通。但是当我想使关系成为双向的,也就是说,将包添加到Element 的后代时,我又回到了同样的问题。包 => 外键 => 插入异常。
我确信这个案例并不像看起来那么独特。 提前感谢您的帮助。
【问题讨论】:
标签: nhibernate mapping one-to-many