我正在使用NHibernate和QueryOver。我有一个名为 Parent 的聚合的聚合根和两种子实体。我的子实体属于我的聚合,而 QUChild 实体不属于我的聚合,只是用于QueryOver中的JOIN子句。
如何区分映射文件中的两个子实体?
<class name="Parent" table="Parent" schema="dbo">
<bag name="Childs" inverse="true" cascade="all-delete-orphan" />
<key>
</key>
<one-to-many class="Child" />
</bag>
<bag name="QUChilds" /> <!-- which attribute must be set to do nothing? -->
<key>
</key>
<one-to-many class="QUChild" />
</bag>
</class>
答案 0 :(得分:0)
好吧,对它毫无用处。如果您不从加载的父实体访问它,NHibernate将不会急于加载,也不会延迟加载它。
默认级联是none
,所以只要保留它就像你映射它一样。 (但是我会添加inverse="true"
,以防代码更改导致在该集合中添加一些子代,稍后也会。)