0
は、私はこのことについての答えのトンを読ん
が、私の特定の場合に適用する方法を見つけていない「同時に複数の袋を取り出すことができない」のC#、NHibernateは(QueryOverまたはLINQの)リターンのコレクションの積極的なロードコレクションは
I単に
をICollection<Group> Groups
性質を持っており、各グループは、「ICollectionをロールproeprtyを持ってUser
オブジェクトは、今私は熱心な負荷に多くの中で私がしよう
に埋め埋めグループと、各グループの役割を持つ特定のユーザーを(持っています他)この3つの方法:
1:
_session.Query<User>().FetchMany(u => u.Groups).ThenFetchMany(g => g.Roles)
.SingleOrDefault();
2:
var utente = _session.QueryOver<User>()
.Fetch(x => x.Groups).Eager
.Fetch(x => x.Groups.First().Roles).Eager
.Where(x => x.IdUtente == idUtente)
.SingleOrDefault();
3:
var query = _session.QueryOver<Utente>()
.Where(u => u.IdUtente == idUtente)
.Future();
Gruppo gruppi = null;
Ruolo ruolo = null;
_session.QueryOver<Utente>()
.Left.JoinAlias(u => u.Gruppi,() => gruppi)
.Left.JoinAlias(() => gruppi.Ruoli,() => ruolo)
.Future();
return query.ToList().First();
しかし、私が取得するたび:cannot simultaneously fetch multiple bags