如何强制nhibernate设置子项的外键?
我在映射中有一个集合:
<bag name="Values" cascade="all-delete-orphan" lazy="false" inverse="true">
<key column="[TemplateId]"/>
<one-to-many class="MyNamespace.Value, MyLib"/>
</bag>
Value 对象有一个外键 [TemplateId]。两个实体的生成器都设置为“身份”。 当我为父 Template 对象调用 session.Save() 时,Value 对象的 [TemplateId] (外键)设置为零,因此出现 SQL 异常。 我如何强制 nhibernate 将子项的 FK 值设置为插入的父对象的值?
i have a collection in the mapping:
<bag name="Values" cascade="all-delete-orphan" lazy="false" inverse="true">
<key column="[TemplateId]"/>
<one-to-many class="MyNamespace.Value, MyLib"/>
</bag>
the Value object has a foreign key [TemplateId]. both entities has their generator set to "identity".
when i call session.Save() for the parent Template object, the Value objects has their [TemplateId] (the foreign key) set to zero, so an SQL exception appears.
how do i forse nhibernate to set the FK value for the child items to the value of the inserted parent object?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我自己管理过:
我唯一需要做的就是设计子对象映射并按以下方式持久化:
因此子对象具有对父对象的引用而不是父对象的 Id
i've managed it myself:
the only thing i was needed to do is to design child object mapping and persistent the following way:
so the child object has a reference to the parent instead of the parent's Id