Я хочу загрузить корневые объекты и стремиться загрузить все дочерние элементы коллекции и агрегирования.
Я пытался использовать 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>();
Могу ли я использовать несколько запросов или что-то подобное для архивации этого?
Кроме того, не приведет ли этот подход к ненужным огромным наборам результатов из базы данных?
Есть предложения?