Le chargement rapide de NHibernate peut être effectué en utilisant Fetch
et FetchMany
, comme décrit dans NHibernate Linq Eager Fetching sur le blog de Mike Hadlow.
Quelle est la différence entre ces deux méthodes et dans quelles circonstances chacune serait-elle utilisée?
Fetch
doit être utilisé pour les références et FetchMany
pour les collections.
Ceci est particulièrement important car seul FetchMany
peut être combiné avec ThenFetchMany
pour récupérer les collections "petits-enfants".
Exemple:
session.Query<User>()
.FetchMany(u => u.Orders)
.ThenFetchMany(o => o.OrderItems)