【发布时间】:2016-02-01 01:39:07
【问题描述】:
我正在调用 sql server 函数包含这样的内容:
ftquery = _OrElse(ftquery,Restrictions.Eq(Projections.SqlFunction("contains",NHibernateUtil.Boolean, Projections.Property<Document>(d => d.SearchContent), Projections.Constant(query.Query)),true));
OrElse 将使用 Restrictions.Or(ICriterion, ICriterion) 执行 or。问题是它会生成无效的 sql:
... and contains(this_.SearchContent, ?) = ? ORDER BY ...
我不想拥有正确的部分 (= ? ),我只需要没有 Restrictions.Eq 的 Projection,但没有 Restrictions.Eq 我找不到任何将 Projection 转换为 Criterion 的解决方案。
我们如何使用 NHibernate 生成类似的 sql:
Select Name from Users where Contains(Name,'toto') or Contains(Job,'tata')
【问题讨论】:
标签: nhibernate queryover