Пример #1
0
        public TResult Execute <TResult>(Expression expression)
        {
            var systemlinq = expression.SimplifyIncorporationOfRemoteQueryables();
            var remotelinq = systemlinq
                             .ToRemoteLinqExpression()
                             .ReplaceGenericQueryArgumentsByNonGenericArguments();
            var queryresult = remotelinq.Execute(null);
            var result      = DynamicResultMapper.MapToType <TResult>(queryresult, null, expression);

            return(result);
        }
Пример #2
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> CreateQueryable <T>(this RemoteQueryableFactory factory, Func <Expressions.Expression, IEnumerable <DynamicObject> > dataProvider, ITypeInfoProvider typeInfoProvider = null, IDynamicObjectMapper mapper = null, Func <System.Linq.Expressions.Expression, bool> canBeEvaluatedLocally = null)
        {
            var resultMapper = new DynamicResultMapper(mapper);

            return(factory.CreateQueryable <T, IEnumerable <DynamicObject> >(dataProvider, resultMapper, typeInfoProvider, canBeEvaluatedLocally));
        }