NHibernate Expression.Like 两个字段上的标准

RSl*_*ter 5 .net c# nhibernate fluent-nhibernate

我有一个 Nhibernate 对象,它具有 Firstname 和 Surname 属性,我希望能够查询这两个字段(Firstname + " " + Surname);例如,如果搜索词是“John Doe”,那么当 John 和 Doe 在不同的字段中时,这将被匹配。

我怎样才能做到这一点?谢谢!

RSl*_*ter 5

所以我最终选择了:

.Add(Restrictions.Like(Projections.SqlFunction("concat",
        NHibernateUtil.String,
        Projections.Property("Firstname"),
        Projections.Constant(" "),
        Projections.Property("Surname")),
    searchString, MatchMode.Anywhere))
Run Code Online (Sandbox Code Playgroud)

这似乎可以满足我的需要。