Search code examples
fluent-nhibernatepagination

how to use pagination query in fluent nhibernate


I want to use following query in fluent nHibernate:

_dataContext.Products
    .Where(filterExpression)
    .OrderBy(sortExpression + " " + sortDirection)
    .Skip(pageIndex * pageSize)
    .Take(pageSize);

Solution

  • in both Criteria and HQL use

    .SetFirstResult(pageIndex * pageSize).SetMaxResults(pageSize)
    

    LinqToNhibernate:

    session.Query<Product>()
      .Where(filterExpression)
      .OrderBy(sortExpression + " " + sortDirection)
      .Skip(pageIndex * pageSize)
      .Take(pageSize);