2011-04-28 82 views
1
中的复合

有没有人知道使用nHibernate 3 QueryOver语法从子句中进行复合的方式 - 可以使用Linq作为对象。我知道它可能与Linq To nHibernate一起使用,但我仍然试图让我的头转向apover。nHibernate 3 QueryOver与条款

下面是从MSDN采取LINQ到对象的例子:从MSDN

回答

3

你可以加入使用QueryOver API采取

var scoreQuery = from student in students 
       from score in student.Scores 
       where score > 90 
       select new { Last = student.LastName, score }; 

,但我认为你需要使用LINQ对象将您的结果变成匿名类型。

事情是这样的:

session.QueryOver<Student>() 
    .JoinQueryOver (s => s.Scores).Where (s => s > 90) 
    .Select (s => s.LastName, s => s.Scores) 
    .List() 
    .SelectMany (s => s.Scores, (student, score) => new { Last = student.LastName, Score = score });