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));
            }
示例#2
0
 /// <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;
 }