0
내가 이것에 대해 대답의 톤을 읽을
하지만 내 특정한 경우에 적용 할 수있는 방법을 찾을 수 없습니다 "동시에 여러 가방을 가져올 수 없습니다"C#을, NHibernate에 (QueryOver 또는 Linq에) 반환과 모음의 열망로드 컬렉션
전 단순히 많은 중 (
이제 내가 열망 부하에
내가 시도로 채워진 각 그룹의 작성 그룹 및 역할에 특정 사용자가 ICollection<Group> Groups
재산과 각 그룹이 User
객체 가지고 "ICollection이 역할 'proeprty이 기타)이 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