Ich erstelle eine MVC-Anwendung, die Nhibernate und Paging verwendet. Ich habe eine Eltern-Kind-Beziehung, die ich versuche, meine Kind-Datensätze zu laden. Das funktioniert alles gut.Nhibernate, eifrig Laden und Paging
Das Problem, das ich habe, ist mit dem Paging. Ich hätte gerne 15 Artikel pro Seite. Dies funktioniert perfekt, wenn jeder Elternteil nur ein Kind hat. Das Problem liegt vor, wenn ein Elternteil mehr als ein Kind hat. Wenn zum Beispiel der Elternteil zwei untergeordnete Datensätze hat, wählt die Datenbank tatsächlich 15 Datensätze aus, wobei zwei dasselbe Elternelement darstellen, eines für jedes der beiden untergeordneten Elemente. Daher scheint es in meiner Datenansicht auf der Seite, dass es nur 14 Datensätze gibt.
Weiß jemand, wie ich gehen könnte, um meine Seite zählt nur durch Eltern, während immer noch eifrig laden meine Kind-Entitäten?
Dies wird eine öffentlich zugängliche Seite sein, also denke ich nicht, dass es eine gute Idee wäre, faul zu laden, da es zu viele Fahrten zum Server verursachen wird.
Gibt es etwas in NHibernate integriert, das damit umgehen kann, dass ich vermisse?
Danke für irgendwelche Gedanken.
Ich benutze die unterschiedliche root-Entity, aber es zählt immer noch die mehreren untergeordneten Elemente jedes Mal, nicht nur die verschiedenen übergeordneten Elemente zählen. – czuroski
@James Gregory - Ihr Vorschlag wird nicht funktionieren, da Paging normalerweise als SELECT TOP (@ p0) ausgedrückt wird .... und wenn es eifrig geladen wird, haben Sie Joins, die einige Entitäten weit unterhalb der von TOP auferlegten Grenze erscheinen lassen. –