linq nhibernate fetch eager-loading

Buscar frente a FetchMany en el proveedor NHibernate Linq



eager-loading (1)

La carga ansiosa de NHibernate se puede hacer usando Fetch y FetchMany , como se describe en NHibernate Linq Eager Fetching en el blog de Mike Hadlow.

¿Cuál es la diferencia entre estos dos métodos y bajo qué circunstancias se usaría cada uno?


Fetch debe usarse para referencias y FetchMany para colecciones.

Esto es particularmente importante porque solo FetchMany se puede combinar con ThenFetchMany para buscar colecciones de "nietos".

Ejemplo:

session.Query<User>() .FetchMany(u => u.Orders) .ThenFetchMany(o => o.OrderItems)