Eager Laden Kinder Sammlung mit NHibernate

Ich soll zum laden von Stamm-Personen und eifrig laden alle Kind Sammlung und Aggregat Mitglieder.

Haben versucht, verwenden Sie die SetFetchMode im FluentNHibernate, aber ich bin immer Duplikate in einem der untergeordneten Auflistung, da ich eine Tiefe von 3 Ebenen. DistinctRootEntityResultTransformer leider nur entfernt den root-Duplikationen.

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>();

Konnte ich mit mehreren Abfragen oder etwas ähnliches zu archivieren?

Darüber hinaus würde nicht diesen Ansatz führen zu unnötig großen Ergebnismengen aus der Datenbank?

Irgendwelche Vorschläge?

InformationsquelleAutor der Frage Kristoffer | 2009-06-02

Schreibe einen Kommentar