如何使用Lambda Extensions在NHibernate中表达此查询?

时间:2010-05-17 19:01:41

标签: nhibernate criteria subquery alias

我正在使用NHibernate和Lambda Extensions,我无法弄清楚如何对特定类型的查询进行短语。

我的应用程序允许用户在图片中标记其他用户。所以有Picture对象,每个Picture都有一个或多个Tag对象,每个Tag对象都有一个User对象。

我正在实施搜索功能。给定一个搜索字符串,我想返回其Name包含字符串的所有图片,其中包含任何标签,其中User包含字符串。

我不知道如何组装此查询,或者我是否需要使用子查询或别名来执行此查询。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

在Lambda中我不知道但您可以使用别名来搜索集合吗?

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