2012-12-06 89 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();