C# Class ElasticLinq.Request.Visitors.ElasticQueryTranslator

Expression visitor to translate a LINQ query into a ElasticTranslateResult that captures remote and local semantics.
Inheritance: CriteriaExpressionVisitor
Mostrar archivo Open project: CenturyLinkCloud/ElasticLINQ

Private Properties

Property Type Description
ApplyTypeSelectionCriteria void
CompleteFacetTranslation void
CompleteHitTranslation void
ElasticQueryTranslator ElasticLinq.Mapping
FindSourceType System.Type
GetOverloadUnsupportedException System.NotSupportedException
RebindElasticFieldsAndChainProjector void
RebindPropertiesAndElasticFields void
RebindSelectBody void
Translate ElasticLinq.Request.Visitors.ElasticTranslateResult
Translate ElasticLinq.Request.Visitors.ElasticTranslateResult
VisitAny System.Linq.Expressions.Expression
VisitCount System.Linq.Expressions.Expression
VisitElasticQueryExtensionsMethodCall System.Linq.Expressions.Expression
VisitFirstOrSingle System.Linq.Expressions.Expression
VisitHighlight System.Linq.Expressions.Expression
VisitMinimumScore System.Linq.Expressions.Expression
VisitOrderBy System.Linq.Expressions.Expression
VisitOrderByScore System.Linq.Expressions.Expression
VisitQuery System.Linq.Expressions.Expression
VisitQueryString System.Linq.Expressions.Expression
VisitQueryableMethodCall System.Linq.Expressions.Expression
VisitSelect System.Linq.Expressions.Expression
VisitSkip System.Linq.Expressions.Expression
VisitTake System.Linq.Expressions.Expression
VisitWhere System.Linq.Expressions.Expression

Protected Methods

Method Description
VisitMethodCall ( MethodCallExpression node ) : Expression
VisitStringPatternCheckMethodCall ( Expression source, Expression match, string pattern, string methodName ) : Expression
VisitUnary ( UnaryExpression node ) : Expression

Private Methods

Method Description
ApplyTypeSelectionCriteria ( ) : void
CompleteFacetTranslation ( FacetRebindCollectionResult aggregated ) : void
CompleteHitTranslation ( Expression evaluated ) : void
ElasticQueryTranslator ( IElasticMapping mapping, Type sourceType ) : ElasticLinq.Mapping
FindSourceType ( Expression e ) : Type
GetOverloadUnsupportedException ( MethodInfo methodInfo ) : NotSupportedException
RebindElasticFieldsAndChainProjector ( Expression selectExpression, System.Linq.Expressions.ParameterExpression entityParameter ) : void

We are using the whole entity in a new select projection. Re-bind any ElasticField references to JObject and ensure the entity parameter is a freshly materialized entity object from our default materializer.

RebindPropertiesAndElasticFields ( Expression selectExpression ) : void

We are using just some properties of the entity. Rewrite the properties as JObject field lookups and record all the field names used to ensure we only select those.

RebindSelectBody ( Expression selectExpression, IEnumerable arguments, IEnumerable parameters ) : void
Translate ( Expression e ) : ElasticLinq.Request.Visitors.ElasticTranslateResult
Translate ( IElasticMapping mapping, Expression e ) : ElasticLinq.Request.Visitors.ElasticTranslateResult
VisitAny ( Expression source, Expression predicate ) : Expression
VisitCount ( Expression source, Expression predicate, Type returnType ) : Expression
VisitElasticQueryExtensionsMethodCall ( MethodCallExpression m ) : Expression
VisitFirstOrSingle ( Expression source, Expression predicate, string methodName ) : Expression
VisitHighlight ( Expression source, Expression highlightExpression, Expression configExpression ) : Expression
VisitMinimumScore ( Expression source, Expression minScoreExpression ) : Expression
VisitOrderBy ( Expression source, Expression orderByExpression, bool ascending ) : Expression
VisitOrderByScore ( Expression source, bool ascending ) : Expression
VisitQuery ( Expression source, Expression predicate ) : Expression
VisitQueryString ( Expression source, Expression queryExpression, Expression fieldsExpression = null ) : Expression
VisitQueryableMethodCall ( MethodCallExpression m ) : Expression
VisitSelect ( Expression source, Expression selectExpression ) : Expression
VisitSkip ( Expression source, Expression skipExpression ) : Expression
VisitTake ( Expression source, Expression takeExpression ) : Expression
VisitWhere ( Expression source, Expression lambdaPredicate ) : Expression

Method Details

VisitMethodCall() protected method

protected VisitMethodCall ( MethodCallExpression node ) : Expression
node System.Linq.Expressions.MethodCallExpression
return System.Linq.Expressions.Expression

VisitStringPatternCheckMethodCall() protected method

protected VisitStringPatternCheckMethodCall ( Expression source, Expression match, string pattern, string methodName ) : Expression
source System.Linq.Expressions.Expression
match System.Linq.Expressions.Expression
pattern string
methodName string
return System.Linq.Expressions.Expression

VisitUnary() protected method

protected VisitUnary ( UnaryExpression node ) : Expression
node System.Linq.Expressions.UnaryExpression
return System.Linq.Expressions.Expression