熱心なフェッチでエイリアスを使用するように nhibernate を取得しようとしています。その可能性はわかりません。
フェッチでエイリアス (私の例では bAlias) を使用しようとしています。
QueryOver<A>()
.JoinAlias(x => x.B, () => bAlias)
.JoinAlias(x => x.B, () => bAlias2)
.Where(() => bAlias2.Surname == "Smith")
.Fetch(() => bAlias).Eager
.Fetch(() => bAlias.C).Eager;
ご覧のとおり、フェッチ コマンドは からの直接パスではなく、2 つのエイリアスを使用しています。
上記のコードは機能しません。動作するコードは
QueryOver<A>()
.JoinAlias(x => x.B, () => bAlias)
.JoinAlias(x => x.B, () => bAlias2)
.Where(() => bAlias2.Surname == "Smith")
.Fetch(x => x.B).Eager
.Fetch(x => x.B.C).Eager;
ご覧のとおり、Fetch ステートメントが異なります。