Étant donné un X racine globale, qui a beaucoup Y et Y qui a beaucoup Z ...NHibernate - forage vers le bas de la racine agrégat
Comment puis-je percer à travers les associations et ne sélectionner que les années X dont Z de avoir une certaine valeur de propriété?
IList Xs = session.createCriteria (typeof (X)) .CreateAlias ("Ys", "Y") (" .CreateAlias Y.Zs", "Z") .Add (Expression.Eq ("Z.Property", 1)) .List();
Cela entraîne une exception PropertyAccessException, et je ne sais pas pourquoi.
Charger tous les X et tester leurs propriétés Z serait massivement redondant.
Cela peut être utile si vous spécifiez des mappages et des noms réels et le fichier de mappage XML, au moins la section qui concerne X, Y et Z. –