2017-02-13 9 views
1

Je travaille avec NHibernate et QueryOver. J'ai une racine agrégée pour mon agrégat nommé Parent et deux types d'entité enfant. J'ai enfants entités qui font partie de mon agrégat, et QUChild entités qui ne sont pas des parties de mon agrégat, et sont simplement utilisés pour la clause JOIN dans QueryOver. Comment faire la distinction entre deux entités enfants dans le fichier de mappage?QueryOver uniquement <one to many> propriété

<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> 

Répondre

0

Eh bien, ne faites rien avec. NHibernate ne chargera pas, ni ne le chargera paresseux si vous n'y accédez pas depuis vos entités parentes chargées.

Et la cascade par défaut est none, il suffit donc de le laisser tel que vous l'avez mappé. (Mais je voudrais ajouter inverse="true" juste au cas où les changements de code conduisent à ajouter des enfants dans cette collection aussi, plus tard.)