Yes it would work, but I have an extension method that clone the query and apply RowCount but it's keeping OrderBy. I think I'll try something like Dan said!
But would be nice if NHibernate remove orderby clausules from count queries. :) Thanks guys On Wed, May 23, 2012 at 12:49 PM, Dan B <[email protected]> wrote: > I always Clone the criteria to get the RowCount *before *applying the > Ordering. > -Dan > > > On Wednesday, 23 May 2012 15:13:27 UTC+1, Felipe Oriani wrote: >> >> Yes, I don't want the nhibernate ordernig my count query. My code is >> something like this: >> >> >> public PagedList<Product> GetProducts() { >> >> return Session.QueryOver<Product>().**OrderBy(x => >> x.Price).Desc.ToPagedList<**Product>(); >> >> } >> >> with this extension method: >> >> public static PagedList<T> ToPageList<T>(this IQueryOver<T, T> query, int >> size, int index) >> { >> int total = query.Clone().FutureRowCount()**; >> var list = query.Take(size).tSkip((index - >> 1)*size).Future<T>(); >> >> return new PagedList<T>(list, total, size, index); >> } >> >> And NHibernate generates two query with future like: >> >> select count(*) from Product order by price desc // want to remove this >> order by... >> select ... from product order by price desc >> >> is there any way? >> >> >> >> >> On Wed, May 23, 2012 at 6:16 AM, pvginkel <[email protected]> wrote: >> >>> You could provide the order by as an extra (optional) parameter. The >>> signature for order by can be taken from http://msdn.microsoft.com/en-* >>> *us/library/bb341409 <http://msdn.microsoft.com/en-us/library/bb341409> >>> and this way you can apply it only on the list query. Expression (probably) >>> has methods to combine the two expressions. >>> >>> >>> On Wednesday, May 23, 2012 3:09:34 AM UTC+2, Felipe Oriani wrote: >>>> >>>> >>>> Hello Guys, I have an extension method for my queries to page it, this >>>> is the code: >>>> >>>> public static PagedList<T> ToPageList<T>(this IQueryOver<T, T> >>>> query, int size, int index) >>>> { >>>> int total = query.Clone().FutureRowCount()****; >>>> var list = query.Take(size).tSkip((index - >>>> 1)*size).Future<T>(); >>>> >>>> return new PagedList<T>(list, total, size, index); >>>> } >>>> >>>> It works fine, but when I use an order by method (on my queryover), the >>>> Nhibernate process this order by command on the count query. >>>> My question is, is there any way to remove the order by from the >>>> QueryOver to NHibernate count it without order by? >>>> >>>> Or if anyone has any suggestions to improve this method, I would >>>> appreciate. >>>> >>>> PS: I use it with asp.net mvc >>>> >>>> Thank you! >>>> >>>> >>>> -- >>>> ______________________________****________ >>>> Felipe B. Oriani >>>> felipeoriani.com.br felipeoria****[email protected] <[email protected]> >>>> @felipeoriani <http://www.twitter.com/felipeoriani> >>>> Lin****kedIn<http://br.linkedin.com/in/felipeoriani> >>>> Facebook <http://www.facebook.com/felipeoriani> >>>> Contato: (19) 9611-8646 / (19) 3421-7850 >>>> >>>> "...Trabalhe quanto puder, tornando-se útil quanto possível..." , por >>>> André Luiz >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "nhusers" group. >>> To view this discussion on the web visit https://groups.google.com/d/** >>> msg/nhusers/-/-VZsmX85IosJ<https://groups.google.com/d/msg/nhusers/-/-VZsmX85IosJ> >>> . >>> >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to nhusers+unsubscribe@** >>> googlegroups.com <nhusers%[email protected]>. >>> For more options, visit this group at http://groups.google.com/** >>> group/nhusers?hl=en <http://groups.google.com/group/nhusers?hl=en>. >>> >> >> >> >> -- >> ______________________________**________ >> Felipe B. Oriani >> felipeoriani.com.br felipeoria**[email protected] <[email protected]> >> @felipeoriani <http://www.twitter.com/felipeoriani> >> Lin**kedIn<http://br.linkedin.com/in/felipeoriani> >> Facebook <http://www.facebook.com/felipeoriani> >> Contato: (19) 9611-8646 / (19) 3421-7850 >> >> "...Trabalhe quanto puder, tornando-se útil quanto possível..." , por >> André Luiz >> >> -- > You received this message because you are subscribed to the Google Groups > "nhusers" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/nhusers/-/rCA4iRK1_UwJ. > > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > -- ______________________________________ Felipe B. Oriani felipeoriani.com.br [email protected] @felipeoriani<http://www.twitter.com/felipeoriani> LinkedIn <http://br.linkedin.com/in/felipeoriani> Facebook<http://www.facebook.com/felipeoriani> Contato: (19) 9611-8646 / (19) 3421-7850 "...Trabalhe quanto puder, tornando-se útil quanto possível..." , por André Luiz -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
