2010-06-03 73 views
3

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

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

我能得到它使用公式属性来执行内部的选择,但我不能想出一个办法来写一个HQL或条件查询,让我包裹内选择外一个。

+2

当我们需要用查询的形式来表示特定的时候,我们只需使用命名查询来实现它。 – Cobusve 2010-06-03 12:27:47

+0

我们在分页大数据集时遇到了这个问题。 NHibernate存在一个错误。我们所做的是使用cusom SQL方言。也许这可能有帮助? http://www.webdevbros.net/2010/11/11/nhibernate-returns-duplicate-results-on-paged-data-sets-work-around/ – 2010-12-09 21:31:18

+0

+1 for Cobusve用于建议命名查询。 – odez213 2011-06-24 19:45:05

回答

-1

NHibernate的3已经LINQ的NHibernate的供应商整合,这样你就可以编写查询分页,如:

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

这应该帮助。

+0

分区情况如何? – 2012-10-28 23:34:15