public IQueryable <TResult> To <TResult>(IObjectDictionary parameters, params Expression <Func <TResult, object> >[] membersToExpand) { var members = GetMembers(membersToExpand); return(To <TResult>(parameters, members)); }
private IQueryable <TResult> To <TResult>(IObjectDictionary parameters, MemberInfo[] members) { var mapExpr = _mappingEngine.CreateMapExpression(_source.ElementType, typeof(TResult), parameters, members); return(_source.Provider.CreateQuery <TResult>( Expression.Call( null, QueryableSelectMethod.MakeGenericMethod(_source.ElementType, typeof(TResult)), new[] { _source.Expression, Expression.Quote(mapExpr) } ) )); }
public SourceSourceInjectedQuery(IQueryable <TSource> dataSource, IQueryable <TDestination> destQuery, IMapper mapper, IEnumerable <ExpressionVisitor> beforeVisitors, IEnumerable <ExpressionVisitor> afterVisitors, Action <Exception> exceptionHandler, IObjectDictionary parameters, MemberPaths membersToExpand, SourceInjectedQueryInspector inspector) { Parameters = parameters; EnumerationHandler = (x => { }); Expression = destQuery.Expression; ElementType = typeof(TDestination); Provider = new SourceInjectedQueryProvider <TSource, TDestination>(mapper, dataSource, destQuery, beforeVisitors, afterVisitors, exceptionHandler, parameters, membersToExpand) { Inspector = inspector ?? new SourceInjectedQueryInspector(), }; _exceptionHandler = exceptionHandler ?? ((x) => { }); }
public ISourceInjectedQueryable <TDestination> For <TDestination>(IObjectDictionary parameters, params string[] membersToExpand) { _parameters = parameters; _membersToExpand = ReflectionExtensions.GetMemberPaths(typeof(TDestination), membersToExpand); return(CreateQueryable <TDestination>()); }
public ISourceInjectedQueryable <TDestination> For <TDestination>(object parameters, params Expression <Func <TDestination, object> >[] membersToExpand) { _parameters = GetParameters(parameters); _membersToExpand = ReflectionExtensions.GetMemberPaths(membersToExpand); return(CreateQueryable <TDestination>()); }
public IQueryable <TResult> To <TResult>(IObjectDictionary parameters, params string[] membersToExpand) { var members = GetMembers(typeof(TResult), membersToExpand); return(To <TResult>(parameters, members)); }
public IQueryable <TResult> To <TResult>(IObjectDictionary parameters) { return(To <TResult>(parameters, new string[0])); }