C# Class Rebel.Framework.Expressions.Remotion.CustomQueryParser

Heavily based on the default QueryParser normally used in Relinq, but primary difference is that we need to establish a different ExpressionTreeParser with a custom DynamicTransformingExpressionTreeProcessor in place of the default TransformingExpressionTreeProcessor in order to avoid it from precompiling certain expressions such as those referencing DynamicMemberMetadata.GetMemberMethod in order to reference dynamic operations inside regular .NET 3.5 expression trees. Relinq doesn't support DynamicExpression from .NET 4 at time of writing.
Inheritance: IQueryParser
Afficher le fichier Open project: RebelCMS/rebelcmsxu5

Méthodes publiques

Méthode Description
CreateDefault ( ) : CustomQueryParser
CustomQueryParser ( Remotion.Linq.Parsing.Structure.ExpressionTreeParser expressionTreeParser ) : System.Linq.Expressions
GetParsedQuery ( Expression expressionTreeRoot ) : Remotion.Linq.QueryModel

Méthodes protégées

Méthode Description
EnsureCustomModifiersRegisteredWithRelinq ( ) : void

Ensures the custom modifiers are registered with Relinq.

Private Methods

Méthode Description
ApplyAllNodes ( IExpressionNode node, Remotion.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext clauseGenerationContext ) : Remotion.Linq.QueryModel

Method Details

CreateDefault() public static méthode

public static CreateDefault ( ) : CustomQueryParser
Résultat CustomQueryParser

CustomQueryParser() public méthode

public CustomQueryParser ( Remotion.Linq.Parsing.Structure.ExpressionTreeParser expressionTreeParser ) : System.Linq.Expressions
expressionTreeParser Remotion.Linq.Parsing.Structure.ExpressionTreeParser
Résultat System.Linq.Expressions

EnsureCustomModifiersRegisteredWithRelinq() protected méthode

Ensures the custom modifiers are registered with Relinq.
protected EnsureCustomModifiersRegisteredWithRelinq ( ) : void
Résultat void

GetParsedQuery() public méthode

public GetParsedQuery ( Expression expressionTreeRoot ) : Remotion.Linq.QueryModel
expressionTreeRoot System.Linq.Expressions.Expression
Résultat Remotion.Linq.QueryModel