From: <fab...@us...> - 2011-04-08 05:49:01
|
Revision: 5640 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5640&view=rev Author: fabiomaulo Date: 2011-04-08 05:48:54 +0000 (Fri, 08 Apr 2011) Log Message: ----------- Minor relax Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Linq/DefaultQueryProvider.cs trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs Modified: trunk/nhibernate/src/NHibernate/Linq/DefaultQueryProvider.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/DefaultQueryProvider.cs 2011-04-08 05:38:39 UTC (rev 5639) +++ trunk/nhibernate/src/NHibernate/Linq/DefaultQueryProvider.cs 2011-04-08 05:48:54 UTC (rev 5640) @@ -9,8 +9,14 @@ namespace NHibernate.Linq { - public class DefaultQueryProvider : IQueryProvider + public interface INhQueryProvider : IQueryProvider { + object ExecuteFuture(Expression expression); + void SetResultTransformerAndAdditionalCriteria(IQuery query, NhLinqExpression nhExpression, IDictionary<string, Tuple<object, IType>> parameters); + } + + public class DefaultQueryProvider : INhQueryProvider + { public DefaultQueryProvider(ISessionImplementor session) { Session = session; @@ -34,14 +40,14 @@ return (TResult) Execute(expression); } - public IQueryable CreateQuery(Expression expression) + public virtual IQueryable CreateQuery(Expression expression) { MethodInfo m = ReflectionHelper.GetMethodDefinition((DefaultQueryProvider p) => p.CreateQuery<object>(null)).MakeGenericMethod(expression.Type.GetGenericArguments()[0]); return (IQueryable) m.Invoke(this, new[] {expression}); } - public IQueryable<T> CreateQuery<T>(Expression expression) + public virtual IQueryable<T> CreateQuery<T>(Expression expression) { return new NhQueryable<T>(this, expression); } Modified: trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs 2011-04-08 05:38:39 UTC (rev 5639) +++ trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs 2011-04-08 05:48:54 UTC (rev 5640) @@ -53,7 +53,7 @@ throw new NotSupportedException("You can also use the AsFuture() method on NhQueryable"); - var future = ((DefaultQueryProvider)nhQueryable.Provider).ExecuteFuture(nhQueryable.Expression); + var future = ((INhQueryProvider)nhQueryable.Provider).ExecuteFuture(nhQueryable.Expression); return (IEnumerable<T>)future; } @@ -63,7 +63,7 @@ if (nhQueryable == null) throw new NotSupportedException("You can also use the AsFuture() method on NhQueryable"); - var future = ((DefaultQueryProvider)nhQueryable.Provider).ExecuteFuture(nhQueryable.Expression); + var future = ((INhQueryProvider)nhQueryable.Provider).ExecuteFuture(nhQueryable.Expression); if(future is DelayedEnumerator<T>) { return new FutureValue<T>(() => ((IEnumerable<T>) future)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |