是否可以将table t-sql 表值用户定义函数用作 HQL 查询的一部分?
这里通过用户定义的函数输出进行休眠过滤是一个如何创建自定义方言扩展的示例,但在此示例中使用了标量 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);
我花了一些时间寻找答案,但没有结果。可能吗 ?
先感谢您。