親エンティティのすべてのコレクション (非デカルト積) を取得しようとしていますが、孫を取得する方法がわかりません。テーブル構造は次のようになります。
次のコードは、私の親とその Child1 および Child2 コレクション、およびその ParentChild3 コレクションを取得しますが、Child3 の孫を取得する (そしてそれらを Future() に延期する) クエリを構成する方法がわかりません。
var parent = _session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Future<User>();
var children1 =_session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Fetch(x => x.Children1).Eager
.Future<Parent>();
var children2 =_session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Fetch(x => x.Children2).Eager
.Future<Parent>();
var parentChildren3 =_session
.QueryOver<Parent>()
.Where(x => x.Id == id)
.Fetch(x => x.ParentChildren3).Eager
.Future<Parent>();
// how to get children3, now?
return parent.SingleOrDefault();
準関連: これはすべてのコレクションを取得するための最良の方法ですか? 代わりに結合で結果を取得するクエリを使用する方が良いですか (そして可能ですか)?