Sie können in Ihrer Zuordnung angeben, dass die Sammlung nicht lazy geladen werden soll. Diese Sammlung wird dann jedoch für jede Abfrage abgerufen, in die Sie eine Person laden möchten.
Ich bin sicher, dass Sie es mit QueryOver tun können, aber ich habe das noch nicht sehr oft verwendet. Sie können auch den Abruf-Modus angeben, wenn der ICriteria Ansatz:
var crit = session.CreateCriteria<Person>();
crit.SetFetchMode("Sports", FetchMode.Eager);
crit.Add(Restrictions.Eq("PersonId", id);
Da ich wissen wollte, wie es zu tun, wie auch mit QueryOver, ich habe ein bisschen worden googeln und ich kam in this. Haben Sie versucht, die Entitäten wie folgt abzurufen:
var query = session.QueryOver<Person>()
.Fetch(p => p.Sports).Eager
.Left.JoinAlias(p => p.Sports,() => s)
...