nHibernate 3 QueryOver with compound from子句

时间:2011-04-28 20:58:01

标签: nhibernate linq-to-nhibernate queryover nhibernate-3

有没有人知道使用nHibernate 3 QueryOver语法从子句中执行复合的方法 - 对Linq来说是可能的。我知道它可能与Linq To nHibernate,但我仍然试图绕过查询apis。

以下是从msq for Linq到对象的示例:

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

取自MSDN

1 个答案:

答案 0 :(得分:3)

您可以使用QueryOver API加入,但我认为您需要使用Linq to Objects将结果展平为匿名类型。

这样的事情:

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 });