如何强制nhibernate设置子项的外键?

时间:2010-04-07 14:22:44

标签: nhibernate mapping collections foreign-keys

我在地图中有一个集合:

<bag name="Values" cascade="all-delete-orphan" lazy="false" inverse="true">
  <key column="[TemplateId]"/>
  <one-to-many class="MyNamespace.Value, MyLib"/>
</bag>

Value对象有一个外键[TemplateId]。两个实体的发电机都设置为“标识”。 当我为父模板对象调用session.Save()时,Value对象将[TemplateId](外键)设置为零,因此出现SQL异常。 如何使用nhibernate将子项的FK值设置为插入的父对象的值?

1 个答案:

答案 0 :(得分:1)

我亲自管理过: 我唯一需要做的就是设计子对象映射并坚持以下方式:

<many-to-one name="Template" class="MyNamespace.Template, MyLib"
                 column="[TemplateId]" not-null="true" />

因此子对象具有对父对象的引用而不是对父对象的引用