nHibernate 3 QueryOver с соединением из пункта - PullRequest
1 голос
/ 29 апреля 2011

Кто-нибудь знает способ сделать соединение из предложений - которые возможны с Linq для объектов - с синтаксисом nHibernate 3 QueryOver.Я знаю, что это возможно с Linq To nHibernate, но я все еще пытаюсь разобраться в apis запроса.

Вот пример, взятый из msdn для Linq для объектов:

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

Взято из MSDN

1 Ответ

3 голосов
/ 29 апреля 2011

Вы можете присоединиться, используя API QueryOver, но я думаю, что вам нужно использовать 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 });
...