【发布时间】:2009-12-17 05:45:28
【问题描述】:
我只是在学习 NHibernate。我一直在使用文档中的示例以及在 stackoverflow 中的示例,但我一定遗漏了一些东西。
我有一个包含 CHILD 集合的 PARENT 对象。没有 PARENT 的 CHILD 毫无意义,因此数据库将 FK 设置为 NOT NULL。实现从 CHILD 到 PARENT 的 NHibernate 效果很好,尽管我不需要这种关系方向。
相反,我尝试实现拥有该关系的 PARENT,但我始终收到一个数据库错误冒泡“无法将值 NULL 插入 PARENT_ID”。保存时,ID 和 PARENT 的实体都没有存储在 CHILD 中。
请参阅下面的代码示例。请指教。
类文件
public class PARENT {
private readonly IList<CHILD> _children = new List<CHILD>();
public virtual Id { get; set; }
public virtual void AddChild(CHILD child) {
_children.add(child);
}
}
public class CHILD {
public virtual Id { get; set; }
}
映射
<class name="PARENT" table="Parent">
<cache usage="read-write"/>
<id name="Id" column="Id" unsaved-value="0" >
<generator class="identity" />
</id>
<bag name="Children" access="field.camelcase-underscore" cascade="all-delete-orphan">
<key column="ParentId"/>
<one-to-many class="CHILD"/>
</bag>
</class>
<class name="CHILD" table="Child">
<cache usage="read-write"/>
<id name="Id" column="Id" unsaved-value="0" >
<generator class="identity"/>
</id>
</class>
【问题讨论】:
-
不确定你是否知道,但是,请到这里 -> summerofnhibernate.com 了解 NHibernate 上的一些非常好的截屏视频!
标签: c# .net nhibernate