テーブル t-sql テーブル値ユーザー定義関数を HQL クエリの一部として使用することは可能ですか?
ここで、ユーザー定義関数の出力による Nhibernate フィルタリングは、カスタム方言拡張を作成する方法の例ですが、この例ではスカラー UDF が使用されています。
次の t-sql UDT があると仮定しましょう
CREATE FUNCTION [dbo].[getSuitableProjects]
(
@userID INT
)
RETURNS @result TABLE
(
ProjectID INT
)
AS
-- body of the function ..
次のhqlを記述できるようにしたいと思います-2行目は疑似コードです。単にhqlクエリの一部として関数を呼び出したいだけです-実際のクエリはより複雑で、フェッチ結合などがあります.
StringBuilder hql = new StringBuilder();
hql.AppendLine("select p from Projects p WHERE p.ProjectID IN");
hql.AppendLine("(run with parameter -> getSuitableProjects(:userID))");
IQuery q = UOW.Session.CreateQuery(hql.ToString());
q.SetInt32("userID", userID);
答えを探すのに時間を費やしますが、結果はありません。出来ますか ?
前もって感謝します。