我想加载根实体并急切地加载它的所有子集合和聚合成员。
一直在尝试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>();
我可以使用多个查询或类似的东西来存档吗?
此外,这种方法不会导致数据库中不必要的巨大结果集吗?
有什么建议么?