将原生 SQL where 子句应用于实体的 Nhibernate 查询

Posted

技术标签:

【中文标题】将原生 SQL where 子句应用于实体的 Nhibernate 查询【英文标题】:Apply native SQL where clause to Nhibernate query for entity 【发布时间】:2010-02-10 22:55:32 【问题描述】:

我有这个问题。

我有一个使用 Nhibernate 来管理实体持久性的模块(模块 1);该模块与另一个模块(模块 2)交互。

“模块 2”允许动态生成原生 SQL where 子句。现在我将使用它来管理“模块 1”中的过滤器操作。

哪种方法最糟糕?

是否可以从“Nhibernate”实体中获取本机 SQL Select 而无需手动编写它? 然后,如果我得到本机 SQL Select 语句,我可以轻松地应用 where。有没有更好的办法?

否则,是否可以将navite SQL语句转换为HQL语句?

【问题讨论】:

【参考方案1】:

我不完全理解你的问题,但在我看来 filters 是你想要的

【讨论】:

【参考方案2】:

真的,我有一个旧程序,它构建 where 子句并以 SQL 原生格式返回它(根据特定的预设)......现在为了解决我的问题,我修改了程序以获取 HQL 格式的 where 子句,所以应用它到我的实体。所以它起作用了。

【讨论】:

以上是关于将原生 SQL where 子句应用于实体的 Nhibernate 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何将整个查询的 where 子句也应用于子查询?

SQL WHERE 子句的正则表达式

API 平台:具有默认 WHERE 子句的实体

实体框架 .Any 不生成预期的 SQL WHERE 子句

如何在 SQL 的 where 子句中使用别名 [重复]

SQL WHERE 子句类似于 JOIN 查询