public RemoteToSystemLinqTranslator(IExpressionFromRemoteLinqContext expressionTranslatorContext) { expressionTranslatorContext.AssertNotNull(nameof(expressionTranslatorContext)); _parameterExpressionCache = new Dictionary <RemoteLinq.ParameterExpression, SystemLinq.ParameterExpression>(ExpressionComparer.Default); _labelTargetCache = new Dictionary <RemoteLinq.LabelTarget, SystemLinq.LabelTarget>(ExpressionComparer.Default); _typeResolver = expressionTranslatorContext.TypeResolver ?? throw new ArgumentException($"{nameof(expressionTranslatorContext.TypeResolver)} property must not be null.", nameof(expressionTranslatorContext)); _dynamicObjectMapper = expressionTranslatorContext.ValueMapper ?? throw new ArgumentException($"{nameof(expressionTranslatorContext.ValueMapper)} property must not be null.", nameof(expressionTranslatorContext)); }
/// <summary> /// Initializes a new instance of the <see cref="AsyncStreamExpressionExecutor{TQueryable, TDataTranferObject}"/> class. /// </summary> protected AsyncStreamExpressionExecutor(Func <Type, TQueryable> queryableProvider, IExpressionFromRemoteLinqContext?context = null) { _queryableProvider = queryableProvider.CheckNotNull(nameof(queryableProvider)); _context = context ?? ExpressionTranslatorContext.Default; }