我们有一个.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
我强调我们需要使用FREETEXT 表函数,而不是这里的FREETEXT标量。
我们不能使用子查询标准,因为我们需要对按排名排序的结果进行分页。
现在,我如何扩展NHibernate以在Criteria和QueryOver API中引入对这种自定义连接的支持?
我已经深入研究了NHibernate数据库找到最佳扩展点,就像过去已经做过的那样,但这次我没有成功,所以我转向那里的NHibernate专家。
提前谢谢。