Tenir compte des entités suivantes:FluentNHibernate Many-to-Many conditionnel Vous pouvez compter sur l'enfant
Package Manifest Content
---------- ---------- ----------
Id PackageId Id
Name ContentId Name
Status
La relation est beaucoup à plusieurs où un paquet peut avoir des contenus multiples et le contenu peut appartenir à plusieurs paquets.
Ce que je voudrais faire est, pour un Package.Id
donné, obtenir le compte de tous Content
qui ont un Status
spécifique.
Mon mappage fonctionne correctement, mais je n'ai pas réussi à comprendre comment obtenir un nombre conditionnel de Content
sans charger le Content
. Une option consiste à utiliser un ApplyChildFilter
dans le mappage et à l'utiliser avec ExtraLazyLoad
, mais cela signifie que je devrais créer une propriété dédiée uniquement pour cela.
Y a-t-il un moyen d'y parvenir sans retomber sur CreateSQLQuery
?
la question est que le manifeste n'est pas explicitement mis en correspondance car il est implicitement mappé via 'HasManyToMany.Table ("Manifest"). ParentKeyColumn ("IDPack"). ChildKeyColumn ("contentId")'. Je pense que votre proposition fonctionnerait si j'ajoutais un mappage explicite et une propriété pour le manifeste, mais j'espérais pouvoir éviter cela (pour l'instant, il suffit d'utiliser SQL pour faire ce JOIN). –