Update() または SaveorUpdate() などを使用して、Detached オブジェクトの状態を Persistent 状態にトラバースできます。これは、nHibernate が何らかの方法で Detached オブジェクトを追跡することを意味します。私は最初、切り離されたオブジェクトをメモリに保存できるのではないかと考えました。
各オブジェクトが処理された後 (クエリ結果を反復しながら) すぐに Evict()できるため、メモリの枯渇を防ぐことができます。 参照: NHibernate の動作
Evict() は、Persistent オブジェクトから Detached オブジェクトへのトラバースに使用されます。
上記のステートメントでは、「and したがって、メモリの枯渇を防ぎます。」 は、分離されたオブジェクトがメモリに保持されていないかのように考えます。じゃあ他に?