Alex, Yes, all that is true... I was saying merely from the "aesthetic" point of view, if you like, and also because we already have other extension methods.
RP On Tuesday, August 19, 2014 12:40:18 PM UTC+1, Alexander Zaytsev wrote: > > Ricardo, > > I'm against IQueryable extension methods by the couple of reasons: > > 1. These extension methods can be called at any place of the query and > this may lead to confusions, for example: > > var q = (from c in session.Query<Customer>().SetLockMode(LockMode.Update) > from o in c.Orders > select new { c, o }).ToList() > > does this option apply to preceding part or to a whole query? > > Or what if we apply different lock modes to Customers and Orders? > > var q = (from c in session.Query<Customer>().SetLockMode(LockMode.Update) > from o in c.Orders.SetLockMode(LockMode.Read) > select new { c, o }).ToList() > > 2. They make query harder to process, because they create "Result > Transformers" that need to be removed, and also ReLinq creates subqueries > in such cases, etc. > > Best Regards, > Alexander > > > 2014-08-19 23:12 GMT+12:00 Ricardo Peres <rjp...@gmail.com <javascript:>>: > >> Alex, >> >> I feel exactly the opposite! :-( I prefer having extension methods, I >> think the code is much more fluent. Also, there are already extension >> methods like this (cache, timeout, etc). >> >> RP >> >> >> On Tuesday, August 19, 2014 6:24:54 AM UTC+1, cremor wrote: >>> >>> I'd stay as fluent as possible, so my vote is for option 3. But I still >>> like extension methods more. There are already extension methods for >>> fetching, so why create something different? >>> >>> And Entity Framework also does it with extension methods, so the API >>> would be similar for both frameworks. >>> >>> >>> On Tuesday, August 19, 2014 5:23:10 AM UTC+2, Alexander Zaytsev wrote: >>>> >>>> Hi guy, >>>> >>>> There are some demand to add ability tune LINQ queries with different >>>> options, as readonly, lock modes, time outs, etc (NH-2285, NH-3470) >>>> >>>> All of them are about to add extension methods for IQueryable. I do not >>>> like this, and I have a proposal: >>>> >>>> What if we will have an argument on session.Query methods which will >>>> accept the query options: >>>> >>>> >>>> session.Query<Customer>(new QueryOptions { ReadOnly = true }).Where(c => >>>> /*...*/) >>>> >>>> or with lambdas >>>> >>>> session.Query<Customer>(c => { c.ReadOnly = true; }).Where(c => /*...*/) >>>> >>>> or >>>> >>>> session.Query<Customer>(c => c.ReadOnly()).Where(c => /*...*/) >>>> >>>> What do you think? >>>> >>>> Best Regards, >>>> Alexander >>>> >>> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "nhibernate-development" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to nhibernate-development+unsubscr...@googlegroups.com >> <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "nhibernate-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.