Как мне сформулировать этот запрос в NHibernate с помощью Lambda Extensions? - PullRequest
0 голосов
/ 17 мая 2010

Я использую NHibernate с Lambda Extensions и не могу понять, как сформулировать конкретный тип запроса.

Мое приложение позволяет пользователям отмечать других пользователей на изображениях. Таким образом, есть объекты Picture, и у каждого Picture есть один или несколько объектов Tag, а у каждого объекта Tag есть один объект User.

Я реализую функцию поиска. Учитывая строку поиска, я хочу вернуть все изображения, имя которых содержит строку или , которые имеют теги с пользователем, имя которого содержит строку.

Я не знаю, как собрать этот запрос, или мне нужно сделать это с подзапросами или псевдонимами. Каков был бы правильный способ сделать это?

1 Ответ

0 голосов
/ 18 мая 2010

В Lamdba я не знаю, но вы можете использовать псевдоним для поиска в коллекции?

session.CreateCriteria<Picture>()
    .CreateAlias("Tags", "tags")
    .Add(
    Expression.Or(
        Expression.Eq("Name","term"),
        Expression.Eq("tags.User.Name","term")));
...