Muchas gracias lista por la ayuda. Finalmente mi función ha quedado de la 
siguiente manera:

....
using NHibernate.Linq;
....

public IList<Campaign> List(int pageIndex, int pageSize, Advertiser 
advertiser, int status)
        {
            if (pageIndex < 1) pageIndex = 1;

            IQueryable<Campaign> query = _session.Query<Campaign>().Where(p 
=> p.DeletedAt == null);
            if (advertiser != null)
                query = query.Where(p => p.Advertiser == advertiser);

            if (status > 0)
                query = query.Where(p => p.Status == status);

            if (pageSize > 0)

                query = query.Skip((pageIndex - 1) * 
pageSize).Take(pageSize);
            
            return query.ToList<Campaign>();
        }

Y por lo visto, me funciona perfecto.

Gracias por todo!

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a