【发布时间】:2023-03-03 10:33:01
【问题描述】:
我在原生 SQL 中创建了一个复杂的搜索查询。基本上是这样的:
SELECT ID FROM t_Product WHERE Name LIKE @criteria
SELECT publisher, count(*) as number FROM t_Product GROUP BY publisher
它有 2 个SELECT 语句,我希望它在一次往返中发送到数据库服务器。
但我不知道如何在 Nhibernate 中实现这一点。
我考虑过以下选项,但似乎没有一个可行
- 使用
CreateMultiQuery,但这只接受HQL,不接受原生SQL - 使用
CreateSQLQuery,但调用List()只返回第一个SELECT语句的结果 - 由于整个 SQL 是非常动态的,因此不能选择移动到存储过程。
- 我们仍然使用 Nhibernate 1.2,因此也无法使用更高版本的新功能。
欢迎提出建议。
【问题讨论】:
-
你为什么反对用 HQL 写它?
标签: c# sql nhibernate