是否可以使用表t-sql表值用戶定義的函數作爲HQL查詢的一部分?使用nhibernate t-sql表值用戶定義函數
這裏Nhibernate filtering by user defined function output是一個例子,如何創建自定義方言extention但是在這個示例標量UDF使用。
讓我們假設我有以下的T-SQL UDT
CREATE FUNCTION [dbo].[getSuitableProjects]
(
@userID INT
)
RETURNS @result TABLE
(
ProjectID INT
)
AS
-- body of the function ..
我希望能夠編寫以下HQL - 第二行是僞代碼,只是我想引用我的功能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);
我花了一些時間尋找答案,但沒有結果。可能嗎 ?
先謝謝您。
我有一個疑問類同你的,有這樣的鏈接看看http://stackoverflow.com/questions/30812235/select-from-table-valued-function-nhibernate – rcarvalhoxavier