多くの Y を持つ集約ルート X と、多くの Z を持つ Y があるとします。
アソシエーションをドリルダウンして、Z が特定のプロパティ値を持つ X のみを選択するにはどうすればよいですか?
IList Xs = Session.CreateCriteria(typeof(X)) .CreateAlias("Ys", "Y") .CreateAlias("Y.Zs", "Z") .Add(Expression.Eq("Z.Property", 1 )) .リスト();
これを行うと PropertyAccessException が発生し、その理由がわかりません。
すべての X をロードして Z プロパティをテストすることは、非常に冗長です。