0

私は QueryOver を使用しており、次のようなフィルタリングされたコレクションを熱心にロードしています。

Part partAlias=null;
Session.QueryOver<Car>().JoinQueryOver(x=>x.Parts,()=>partAlias)
.WhereRestrictionOn(()=>partAlias.Id).IsIn(partIds)
.List<Car>();

問題は、結果のコレクション (.Parts) を参照すると、データベースからフェッチされ、以前のコレクションが上書きされることです。設定には Fluent Nhibernate を使用しています。

4

1 に答える 1

0

わかりました、私はすべてが機能するようになりました。いくつかの異なる問題がありました。1つは、コレクションを増やすデカルト積を作成する他の関係を含めることでした。ここでの私の質問に固有の別の問題は、結合タイプをとして追加することで解決しましたJoinType.LeftOuterJoinこのスレッドでアドバイスを見つけました。デフォルトでは内部結合を使用しますが、これは機能しません。結合は左外部結合でなければなりません。

于 2012-05-03T01:42:22.990 に答える