Нетерпляче завантаження NHibernate можна здійснити за допомогою Fetch
та FetchMany
, як описано в NHibernate Linq Eager Fetching у блозі Майка Хедлоу.
У чому різниця між цими двома методами та за яких обставин застосовуватиметься кожен?
Нетерпляче завантаження NHibernate можна здійснити за допомогою Fetch
та FetchMany
, як описано в NHibernate Linq Eager Fetching у блозі Майка Хедлоу.
У чому різниця між цими двома методами та за яких обставин застосовуватиметься кожен?
Відповіді:
Fetch
слід використовувати для посилань та FetchMany
для колекцій.
Це особливо важливо, оскільки FetchMany
їх можна поєднувати лише ThenFetchMany
для отримання колекцій "онуків".
Приклад:
session.Query<User>()
.FetchMany(u => u.Orders)
.ThenFetchMany(o => o.OrderItems)