私は QueryOver を使用しており、次のようなフィルタリングされたコレクションを熱心にロードしています。
Part partAlias=null;
Session.QueryOver<Car>().JoinQueryOver(x=>x.Parts,()=>partAlias)
.WhereRestrictionOn(()=>partAlias.Id).IsIn(partIds)
.List<Car>();
問題は、結果のコレクション (.Parts) を参照すると、データベースからフェッチされ、以前のコレクションが上書きされることです。設定には Fluent Nhibernate を使用しています。