5

Criteria API と QueryOver API の両方を使用して SQL Server 2008 データベースにクエリを実行する NHibernate 主導のデータ アクセス レイヤーに大きく基づいた .NET アプリケーションがあります。要件は、ランク付けを備えたネイティブの Microsoft SQL Server フルテキスト機能に基づくいくつかのクエリ フィルターを導入することです。

これを 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 の専門家に相談します。

前もって感謝します。

4

0 に答える 0