在NHibernate中,我如何映射一个对象以仅检索它的子对象,而在创建或更新时忽略它们?

在NHibernate中,我如何映射一个对象以仅检索它的子对象,而在创建或更新时忽略它们?,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,如何将此对象映射为仅检索下面的集合,并在创建或更新对象到db时完全忽略它 <bag name="children" table="tb_parent_child" lazy="false"> <key column="parentID"/> <one-to-many class="Child"/> </bag> 谢谢为什么不将lazy设置为true?这基本上不就行了吗?也可以将cascade设置为“none”?将cascade属性设置

如何将此对象映射为仅检索下面的集合,并在创建或更新对象到db时完全忽略它

 <bag name="children"  table="tb_parent_child" lazy="false">
  <key column="parentID"/>
  <one-to-many class="Child"/>
</bag>

谢谢

为什么不将lazy设置为true?这基本上不就行了吗?也可以将cascade设置为“none”?

将cascade属性设置为none:

 <bag name="children"  table="tb_parent_child" lazy="false" cascade="none">
     <key column="parentID"/>
     <one-to-many class="Child"/>
 </bag>

我们应该做到这一点。有关级联选项的说明,请参见此部分。

谢谢,如果发送的对象在要更新的集合中没有子对象,则tb_parent_child表中的parentID仍然为空。您可以尝试设置inverse=true。但为什么要将集合映射为父集合的子集合呢?您可以在代码中自己检索集合。