扩展 NHibernate 以支持全文的自定义连接

And*_*gio 5 sql-server nhibernate full-text-search

我们有一个 .NET 应用程序,它主要基于 NHibernate 驱动的数据访问层,使用 Criteria 和 QueryOver API 来查询 SQL Server 2008 数据库。要求是引入一些基于具有排名的本机 Microsoft SQL Server FullText 功能的查询过滤器。

将其转换为 SQL,我们有类似的东西。

SELECT * FROM entities
INNER JOIN FREETEXTTABLE(entities, ft_column, "some ft query") ft_tbl
  ON entities.Id = ft_tbl.[KEY]
ORDER BY ft_tbl.[RANK] DESC
Run Code Online (Sandbox Code Playgroud)

我强调我们需要使用 FREETEXT表函数,而不是这里的 FREETEXT 标量函数

我们不能使用子查询条件,因为我们需要按排名对结果进行分页。

现在,我如何扩展 NHibernate 以在 Criteria 和 QueryOver API 中引入对此类自定义连接的支持?

我已经深入研究了 NHibernate 资源,找到了最好的扩展点,正如过去所做的那样,但这次我没有成功,所以我求助于那里的 NHibernate 专家。

先感谢您。