在 NHibernate ICriteria 中使用全文搜索时遇到问题
我已经注册了自由文本并包含以下内容:
public class CMSSQLDialect : MsSql2008Dialect {
public CMSSQLDialect()
{
RegisterFunction("freetext", new StandardSQLFunction("freetext", null));
RegisterFunction("contains", new StandardSQLFunction("contains", null));
}
}
现在我想使用 ICriteria 中的函数,例如:
var store = sessionFactory.CreateCriteria(typeof(Comito.CMS.Domain.Entity.Document.Document));
var stringSearchProjection = Projections.SqlFunction("freetext", NHibernateUtil.StringClob, Projections.Property("BodyText"));
尝试将投影添加到搜索中:
store.Add(Restrictions.Eq(stringSearchProjection , '*mysearch*'));
(当然)返回
SELECT this_.BodyText as y0_ FROM TableName WHERE freetext(this_.BodyText) = 'dav'
但是我如何在 ICriteria 中实现自由文本