【发布时间】:2013-01-05 19:00:33
【问题描述】:
是否可以将 table t-sql table-valued user-defined 函数用作 HQL 查询的一部分?
这里Nhibernate filtering by user defined function output 是一个如何创建自定义方言扩展的示例,但在此示例中使用的是标量 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);
我花了一些时间寻找答案,但没有结果。有可能吗?
提前谢谢你。
【问题讨论】:
-
我有一个和你类似的疑问,看看这个链接stackoverflow.com/questions/30812235/…
标签: sql-server nhibernate hql user-defined-functions