【问题标题】:NHibernate QueryNHibernate 查询
【发布时间】:2011-02-27 06:49:21
【问题描述】:

是否可以让 NHibernate 使用 HQL 或 Criteria API 生成类似于以下的查询?

select
    *
from (
    select
       row_number() over ( partition by Column1 order by Column2 ) as RowNumber,
       T.*
    from
        MyTable T
)
where
    RowNumber = 1

我可以让它使用公式属性执行内部选择,但我想不出一种方法来编写 HQL 或标准查询,让我将内部选择包装在外部选择中。

【问题讨论】:

  • 当我们需要以查询的形式变得特别时,我们只需使用命名查询来实现它。
  • 我们在对大型数据集进行分页时遇到了这个问题。 NHibernate 有一个错误。我们所做的是使用自定义 SQL 方言。也许这可能会有所帮助? webdevbros.net/2010/11/11/…
  • +1 表示 Cobusve 建议命名查询。

标签: c# nhibernate hql criteria-api


【解决方案1】:

NHibernate 3 集成了 Linq to NHibernate 提供程序,因此您可以编写分页查询,例如:

Session.Query<Customer>().Skip(10).Take(10).ToList();

这应该会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    相关资源
    最近更新 更多