j'ai lu des tonnes de réponse à ce sujet mais ne trouve pas un moyen d'appliquer à mon cas particulierC#, la collecte de chargement désireux de collection avec NHibernate (QueryOver ou Linq) retour « ne peut pas aller chercher simultanément plusieurs sacs »
i simplement avoir objet User
qui ont ICollection<Group> Groups
propriété et chaque groupe ont un « Rôles ICollection de la proeprty
maintenant je dois charge désireux d'un utilisateur spécifique avec des groupes remplis et les rôles de chaque groupe rempli à
i essayer (parmi d'autres autre) cette façon 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();
mais chaque fois que je: cannot simultaneously fetch multiple bags