Hola,

Yo quiero decir que, en cuanto a la paginación utilizando
NHIbernate.Linq, yo hacía:

IQueryable<Entidad> result = Session.Linq<Entidad>.Where(....

if (i > 0) return result.Skip(i).Take(j); //como ejemplo...
else return result;

Y inspeccionando el sql generado al hacer un ToList, no me realizaba
los filtros de skip - take, aunque el resultado era correcto. Era como
si ejecutara la consulta y después me hiciera la paginación pero a
nivel de Linq to Objects.

Es un bug que estaba ya resuelto no? Creo haber leído en algún
sitio...

Alguien me lo aclara por favor?

Un saludo


On 20 mayo, 19:58, Carlos Peix <[email protected]> wrote:
> Hola Gustavo,
>
> Ciertamente esto es mejor puesto que oculta la implementacion, es un buen
> paso que el metodo real sea privado.
>
> Aun te quedan mezclados los parametros de negocio (status) con los de
> paginacion, pero creo que es un buen paso.
>
> ----------------------------------
> Carlos Peix
>
> 2011/5/20 Gustavo Garcia <[email protected]>
>
>
>
>
>
>
>
> > Hola Carlos,
> > Totalmente de acuerdo con respecto a la claridad para el cliente de la API,
> > pero creo que sería bueno implementar todos estos métodos, pero de una
> > manera similar a esta, o no?
>
> >   private function *List*(int status, int pageIndex, int pageSize, int
> > advertiser_id)
>
> >   public function *ListByStatus*(int status)
> >     return List(status, 0, 0, 0);
>
> >   public function *ListByStatusWithPager*(int status, int pageIndex, int
> > pageSize)
> >     return List(status, pageIndex, pageSize);
>
> >   public function *ListByStatusAndAdvertiserWithPager*(int status, int
> > pageIndex, int pageSize, int advertiser_id)
> >     return List(status, pageIndex, pageSize, advertiser_id);
>
> >   public function *ListByAdvertiser*(int advertiser_id)
> >     return List(0, 0, 0, advertiser_id);
>
> >   public function *ListByAdvertiserAndStatus*(int status, int
> > advertiser_id)
> >     return List(status, 0, 0, advertiser_id);
>
> >   public function *ListByAdvertiserWithPager*(int status, int pageIndex,
> > int pageSize)
> >     return List(0, pageIndex, pageSize, advertiser_id);
>
> > De esta manera doy claridad al cliente de la API y yo manejo mi lógica en
> > una sola función?
>
> > Paciencia, que estoy estudiando! :)
>
> > --
> > Para escribir al Grupo, hágalo a esta dirección:
> > [email protected]
> > Para más, visite:http://groups.google.com/group/NHibernate-Hispano

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