他のテーブルへの外部キーである多くのフィールドを持つ Person テーブルがあります
だから私はこれを行うために選択をしなければなりません:
References(x => x.Field1).Fetch.Join();
References(x => x.Field2).Nullable().Fetch.Join();
References(x => x.Field3).Nullable().Fetch.Join();
References(x => x.Field4).Nullable().Fetch.Join();
また
References(x => x.Field1).Fetch.Select();
References(x => x.Field2).Nullable().Fetch.Select();
References(x => x.Field3).Nullable().Fetch.Select();
References(x => x.Field4).Nullable().Fetch.Select();
最初のものは他のすべてのテーブルに対して外部結合を実行し、2 番目のものは実行しないことがわかります。nhibernate プロファイラーでテストを実行していますが、いつ Fetch.Select() を使用する必要があるかについて経験則またはベスト プラクティスを取得しようとしています (Web 上で多くを見つけることができません)。
すべてのエントリに対して Field2 テーブルの別のフィールドにアクセスしたい場合は、事前に結合を行う方がよいと思います。
この決定において、私が見逃している他の要因はありますか?