public SearchRequestFormatter(IAzureSearchMapping mapping, AzureSearchRequest searchRequest) { this.mapping = mapping; SearchRequest = searchRequest; Build(searchRequest.Criteria); }
public AzureSearchContext(IAzureSearchConnection connection, IAzureSearchMapping mapping = null, ILogger logger = null) { Argument.EnsureNotNull(nameof(connection), connection); Connection = connection; Mapping = mapping ?? new AzureSearchMapping(); Logger = logger ?? NullLogger.Instance; }
public AzureSearchFieldsExpressionVisitor(Type sourcetype, ParameterExpression bindingParameter, IAzureSearchMapping mapping) { Argument.EnsureNotNull(nameof(bindingParameter), bindingParameter); Argument.EnsureNotNull(nameof(mapping), mapping); SourceType = sourcetype; BindingParameter = bindingParameter; Mapping = mapping; }
internal new static RebindCollectionResult <string> Rebind(Type sourceType, IAzureSearchMapping mapping, Expression selector) { var parameter = Expression.Parameter(typeof(Document), "h"); var visitor = new MemberProjectionExpressionVisitor(sourceType, parameter, mapping); Argument.EnsureNotNull(nameof(selector), selector); var materializer = visitor.Visit(selector); return(new RebindCollectionResult <string>(materializer, visitor.fieldNames, parameter)); }
/// <summary> /// Create a new AzureSearchQueryProvider for a given connection, logger and field prefix. /// </summary> /// <param name="connection">Connection to use to connect to Elasticsearch.</param> /// <param name="mapping">A mapping to specify how queries and results are translated.</param> /// <param name="log">A log to receive any information or debugging messages.</param> /// <param name="retryPolicy">A policy to describe how to handle network issues.</param> public AzureSearchQueryProvider(IAzureSearchConnection connection, IAzureSearchMapping mapping, Type searchType, ILogger logger) { Argument.EnsureNotNull(nameof(connection), connection); Argument.EnsureNotNull(nameof(mapping), mapping); Argument.EnsureNotNull(nameof(logger), logger); Connection = connection; Mapping = mapping; SearchType = searchType; Logger = logger; }
protected CriteriaExpressionVisitor(IAzureSearchMapping mapping, Type sourceType) { Mapping = mapping; SourceType = sourceType; }
internal static AzureSearchTranslateResult Translate(IAzureSearchMapping mapping, Expression e) { return(new AzureSearchQueryTranslator(mapping, FindSourceType(e)).Translate(e)); }
AzureSearchQueryTranslator(IAzureSearchMapping mapping, Type sourceType) : base(mapping, sourceType) { }
internal static Tuple <Expression, ParameterExpression> Rebind(Type sourceType, IAzureSearchMapping mapping, Expression selector) { var parameter = Expression.Parameter(typeof(Document), "h"); var visitor = new AzureSearchFieldsExpressionVisitor(sourceType, parameter, mapping); Argument.EnsureNotNull(nameof(selector), selector); return(Tuple.Create(visitor.Visit(selector), parameter)); }
MemberProjectionExpressionVisitor(Type sourceType, ParameterExpression bindingParameter, IAzureSearchMapping mapping) : base(sourceType, bindingParameter, mapping) { }