示例#1
0
        /// <summary>
        /// Creates an instance of <see cref="IQueryable{T}"/> that utilizes the data provider specified.
        /// </summary>
        /// <typeparam name="T">Element type of the <see cref="IQueryable{T}"/>.</typeparam>
        public static IQueryable <T> CreateAsyncQueryable <T>(this RemoteQueryableFactory factory, Func <Expressions.Expression, Task <object> > dataProvider, ITypeInfoProvider typeInfoProvider = null, IAsyncQueryResultMapper <object> resultMapper = null, Func <System.Linq.Expressions.Expression, bool> canBeEvaluatedLocally = null)
        {
            if (resultMapper is null)
            {
                resultMapper = new AsyncObjectResultCaster();
            }

            return(factory.CreateAsyncQueryable <T, object>(dataProvider, resultMapper, typeInfoProvider, canBeEvaluatedLocally));
        }
示例#2
0
        /// <summary>
        /// Creates an instance of <see cref="IQueryable" /> that utilizes the data provider specified
        /// </summary>
        public static IQueryable CreateAsyncQueryable(this RemoteQueryableFactory factory, Type elementType, Func <Expressions.Expression, Task <object> > dataProvider, ITypeResolver typeResolver = null, IAsyncQueryResultMapper <object> resultMapper = null, Func <System.Linq.Expressions.Expression, bool> canBeEvaluatedLocally = null)
        {
            if (ReferenceEquals(null, resultMapper))
            {
                resultMapper = new AsyncObjectResultCaster();
            }

            return(factory.CreateAsyncQueryable <object>(elementType, dataProvider, resultMapper, typeResolver, canBeEvaluatedLocally));
        }