Si, utilizando la API de queryover eso que estas haciendo es perfectamente
válido..
Con linq sería así:

public function ListCampaigns(int pageIndex, int pageSize, int status)
{
  IQueryOver query = _session.Query<Campaign>().Where(p => p.DeletedAt ==
null);

  if(status > 0)
    query = query.Where(p => p.Status == status)
  if(pageSize > 0)
    query = query.Skip((pageIndex - 1) * pageSize).Take(pageSize)

  return query.ToList();
}

La diferencia radica en que queryover los metodos afectan el estado del
objeto query.. mientras que en linq devuelven un queryable que es inmutable.


El 19 de mayo de 2011 13:29, Gustavo Garcia <[email protected]> escribió:

> public function ListCampaigns(int pageIndex, int pageSize, int status)
> {
>   IQueryOver query = _session.QueryOver<Campaign>().Where(p => p.DeletedAt
> == null);
>
>   if(status > 0)
>     query.And(p => p.Status == status)
>   if(pageSize > 0)
>     query.Skip((pageIndex - 1) * pageSize).Take(pageSize)
>
>   return query.List<Campaign>();
> }
>

-- 
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