0
我讀噸關於這個答案,但沒有找到一個辦法適用於我的具體情況C#,收集與NHibernate(QueryOver或LINQ)返回的渴望裝載集「不能同時獲取多袋」
我只需User
對象具有ICollection<Group> Groups
財產,每個組有一個「ICollection的角色媒體資源相關聯,現在我不得不急於負載充滿組和角色填充
我嘗試每一組的特定用戶
(其中許多其他)這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