Я хочу загрузить корневые объекты и загружать все элементы дочерней коллекции и агрегата.
Пытались использовать SetFetchMode
в FluentNHibernate, но я получаю дубликаты в одной из дочерней коллекции, так как у меня есть глубина 3 уровня. DistinctRootEntityResultTransformer
, к сожалению, удаляет только дубликаты корней.
return Session.CreateInvoiceBaseCriteria(query, archived)
.AddOrder(new Order(query.Order, query.OrderType == OrderType.ASC))
.SetFetchMode("States", FetchMode.Eager)
.SetFetchMode("Attestations", FetchMode.Eager)
.SetFetchMode("AttestationRequests", FetchMode.Eager)
.SetFetchMode("AttestationRequests.Reminders", FetchMode.Eager)
.SetResultTransformer(new DistinctRootEntityResultTransformer())
.List<Invoice>();
Могу ли я использовать несколько запросов или что-то подобное в архиве?
Кроме того, не приведет ли этот подход к излишне огромным наборам результатов из базы данных?
Любые предложения?