Учитывая совокупный корень X, который имеет много Y, и Y, который имеет много Z ...
Как я могу развернуть ассоциации и выбрать только те X, чьи Z имеют определенное значение свойства?
IList Xs = Session.CreateCriteria (typeof (X))
.CreateAlias ("Ys", "Y")
.CreateAlias ("Y.Zs", "Z")
.Add (Expression.Eq ("Z.Property", 1))
.List ();
Это приводит к исключению PropertyAccessException, и я понятия не имею, почему.
Загрузка всех X и проверка их свойств Z были бы избыточными.