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