Hi Ricardo, I would prefer to focus on 4.1.0 issues and bugs rather than new functionality.
Best Regards, Alexander On Fri, Nov 21, 2014 at 6:44 AM, Ricardo Peres <rjpe...@gmail.com> wrote: > Hi, > > I submitted a pull request for https://nhibernate.jira.com/browse/NH-2140. > The idea is to have all query APIs (LINQ, HQL, SQL, Criteria and QueryOver) > support a base interface, which I called IQueryOptions. > This interface has common methods for paging, limiting the number of > records, setting read only, setting lock mode, setting a result > transformer, queuing to future queries, and performing the actual query. It > is defined as: > > public interface IQueryOptions > { > IList List(); > > void List(IList list); > > IList<T> List<T>(); > > object UniqueResult(); > > T UniqueResult<T>(); > > IQueryOptions SetFirstResult(int firstResult); > > IQueryOptions SetFetchSize(int fetchSize); > > IQueryOptions SetReadOnly(bool readOnly); > > IQueryOptions SetCacheable(bool cacheable); > > IQueryOptions SetCacheRegion(string cacheRegion); > > IQueryOptions SetTimeout(int timeout); > > IQueryOptions SetMaxResults(int maxResults); > > IQueryOptions SetLockMode(string alias, LockMode lockMode); > > IQueryOptions SetResultTransformer(IResultTransformer > resultTransformer); > > IFutureValue<T> FutureValue<T>(); > > IEnumerable<T> Future<T>(); > } > > > Because it was required for LINQ, I also included > https://nhibernate.jira.com/browse/NH-3299, > https://nhibernate.jira.com/browse/NH-3470 and > https://nhibernate.jira.com/browse/NH-2285. > It allows doing these without caring what API is actually being used: > > IQueryOptions query = //... > > query = query.SetReadOnly(true); > query = query.SetFirstResult(1); > query = query.SetMaxResults(1); > query = query.SetFetchSize(100); > query = query.SetLockMode(alias, LockMode.Upgrade); > query = query.SetResultTransformer(transformer); > var result = query.List<Simple>(); > > > What do you think? Let me hear your comments. > > > RP > > -- > > --- > 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. > -- --- 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.