2012-12-06 128 views
0

我有一個問題。我想從對象 獲得集合當我嘗試NHibernate從對象獲取集合

UserProfile user = _session.Query<UserProfile>() 
          .Where(x => x.Email == email) 
          .FirstOrDefault(); 

用戶角色的集合,它是確定。但是當我試試這個:

IList<UserRole> role = _session.Query<UserProfile>() 
           .Where(x => x.Email == email) 
           .Select(x => x.Roles).FirstOrDefault(); 

它不工作,我得到一個錯誤:

could not execute query[SQL: SQL not available] 
+2

請提供您的流利映射。內部的例外(如果有的話)。 – nakiya

+0

只有一個錯誤是HasManyToMany(X => x.Roles) 。表( 「UsersInRoles」) .ParentKeyColumn( 「用戶ID」) .ChildKeyColumn( 「角色ID」) .LazyLoad() .Cascade.SaveUpdate() ; – user1644160

+1

你試過類似IList role = _session.Query ().Where(x => x.Email == email).SelectMany(x => x.Roles).FirstOrDefault(); ? – jbl

回答

0

嘗試寫你這樣的查詢

VAR角色=(從u在_session.Query從r在u.Roles中選擇r).ToList();