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)