Ich möchte Stammelemente laden und eifrig laden alle untergeordnete Sammlung und aggregierte Mitglieder.Eager Laden untergeordneten Sammlung mit NHibernate
habe versucht, die SetFetchMode
in FluentNHibernate zu verwenden, aber ich bin Duplikate in einer der Kinder Sammlung bekommen, da ich eine Tiefe von 3 Ebenen haben. DistinctRootEntityResultTransformer
löscht leider nur die Wurzelduplikationen.
Könnte ich Multi-Abfragen oder ähnliches verwenden, um dies zu archivieren?
Würde dieser Ansatz nicht zu unnötig großen Resultsets aus der Datenbank führen?
Irgendwelche Vorschläge?
In der Tat ein guter Artikel, aber unsicher, ob ich es auf meine Situation anwenden kann. Die Lösung, die im Artikel über das eifrige Laden einer spezifischen root-Entität beschrieben wird, ist mein Problem, dass ich eifrig eine Sammlung von root-Entitäten laden möchte. Wenn ich MultiCritera verwenden möchte, muss ich eine Möglichkeit finden, alle verschiedenen Abfragen zu verbinden, ohne eine bestimmte Entität anzugeben. Vorschläge wie das gemacht werden kann? – Kristoffer
Dieses Beispiel hat nur eine zusätzliche Hierarchieebene, aber keine Enkelkinder, für die MultiQuery/MultiCriteria anscheinend nutzlos ist, da spätere Abfragen keine Ergebnisse früherer Abfragen referenzieren können (wie Abfrage # 1: rootObjects auswählen r link Join fetch children c wo ...; Abfrage # 2: wähle Enkelkinder g, wo Eltern in c). –