Beispiel #1
0
 private static ParseResult AnalyzeCommandSemantics(
     System.Data.Entity.Core.Common.EntitySql.AST.Node astExpr,
     Perspective perspective,
     ParserOptions parserOptions,
     IEnumerable <DbParameterReferenceExpression> parameters)
 {
     return(CqlQuery.AnalyzeSemanticsCommon <ParseResult>(astExpr, perspective, parserOptions, parameters, (IEnumerable <DbVariableReferenceExpression>)null, (Func <SemanticAnalyzer, System.Data.Entity.Core.Common.EntitySql.AST.Node, ParseResult>)((analyzer, astExpression) => analyzer.AnalyzeCommand(astExpression))));
 }
Beispiel #2
0
 internal static ParseResult Compile(
     string commandText,
     Perspective perspective,
     ParserOptions parserOptions,
     IEnumerable <DbParameterReferenceExpression> parameters)
 {
     return(CqlQuery.CompileCommon <ParseResult>(commandText, parserOptions, (Func <System.Data.Entity.Core.Common.EntitySql.AST.Node, ParserOptions, ParseResult>)((astCommand, validatedParserOptions) => CqlQuery.AnalyzeCommandSemantics(astCommand, perspective, validatedParserOptions, parameters))));
 }
Beispiel #3
0
 private static DbLambda AnalyzeQueryExpressionSemantics(
     System.Data.Entity.Core.Common.EntitySql.AST.Node astQueryCommand,
     Perspective perspective,
     ParserOptions parserOptions,
     IEnumerable <DbParameterReferenceExpression> parameters,
     IEnumerable <DbVariableReferenceExpression> variables)
 {
     return(CqlQuery.AnalyzeSemanticsCommon <DbLambda>(astQueryCommand, perspective, parserOptions, parameters, variables, (Func <SemanticAnalyzer, System.Data.Entity.Core.Common.EntitySql.AST.Node, DbLambda>)((analyzer, astExpr) => analyzer.AnalyzeQueryCommand(astExpr))));
 }
Beispiel #4
0
 private static TResult CompileCommon <TResult>(
     string commandText,
     ParserOptions parserOptions,
     Func <System.Data.Entity.Core.Common.EntitySql.AST.Node, ParserOptions, TResult> compilationFunction)
     where TResult : class
 {
     parserOptions = parserOptions ?? new ParserOptions();
     return(compilationFunction(CqlQuery.Parse(commandText, parserOptions), parserOptions));
 }
Beispiel #5
0
 internal static DbLambda CompileQueryCommandLambda(
     string queryCommandText,
     Perspective perspective,
     ParserOptions parserOptions,
     IEnumerable <DbParameterReferenceExpression> parameters,
     IEnumerable <DbVariableReferenceExpression> variables)
 {
     return(CqlQuery.CompileCommon <DbLambda>(queryCommandText, parserOptions, (Func <System.Data.Entity.Core.Common.EntitySql.AST.Node, ParserOptions, DbLambda>)((astCommand, validatedParserOptions) => CqlQuery.AnalyzeQueryExpressionSemantics(astCommand, perspective, validatedParserOptions, parameters, variables))));
 }
Beispiel #6
0
 /// <summary>
 /// Parse a specific query with a specific set variables and produce a
 /// <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbLambda" />
 /// .
 /// </summary>
 /// <returns>
 /// The <see cref="T:System.Data.Entity.Core.Common.EntitySql.ParseResult" /> containing
 /// <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCommandTree" />
 /// and information describing inline function definitions if any.
 /// </returns>
 /// <param name="query">The query to be parsed.</param>
 /// <param name="variables">The optional query variables.</param>
 public DbLambda ParseLambda(
     string query,
     params DbVariableReferenceExpression[] variables)
 {
     Check.NotNull <string>(query, nameof(query));
     if (variables != null)
     {
         IEnumerable <DbVariableReferenceExpression> enumerableArgument = (IEnumerable <DbVariableReferenceExpression>)variables;
         EntityUtil.CheckArgumentContainsNull <DbVariableReferenceExpression>(ref enumerableArgument, nameof(variables));
     }
     return(CqlQuery.CompileQueryCommandLambda(query, this._perspective, (ParserOptions)null, (IEnumerable <DbParameterReferenceExpression>)null, (IEnumerable <DbVariableReferenceExpression>)variables));
 }
Beispiel #7
0
 /// <summary>Parse the specified query with the specified parameters.</summary>
 /// <returns>
 /// The <see cref="T:System.Data.Entity.Core.Common.EntitySql.ParseResult" /> containing
 /// <see cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCommandTree" />
 /// and information describing inline function definitions if any.
 /// </returns>
 /// <param name="query">The EntitySQL query to be parsed.</param>
 /// <param name="parameters">The optional query parameters.</param>
 public ParseResult Parse(
     string query,
     params DbParameterReferenceExpression[] parameters)
 {
     Check.NotNull <string>(query, nameof(query));
     if (parameters != null)
     {
         IEnumerable <DbParameterReferenceExpression> enumerableArgument = (IEnumerable <DbParameterReferenceExpression>)parameters;
         EntityUtil.CheckArgumentContainsNull <DbParameterReferenceExpression>(ref enumerableArgument, nameof(parameters));
     }
     return(CqlQuery.Compile(query, this._perspective, (ParserOptions)null, (IEnumerable <DbParameterReferenceExpression>)parameters));
 }
        /// <summary>Parse the specified query with the specified parameters.</summary>
        /// <returns>
        ///     The <see cref="T:System.Data.Entity.Core.Common.EntitySql.ParseResult" /> containing
        ///     <see
        ///         cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCommandTree" />
        ///     and information describing inline function definitions if any.
        /// </returns>
        /// <param name="query">The EntitySQL query to be parsed.</param>
        /// <param name="parameters">The optional query parameters.</param>
        public ParseResult Parse(string query, params DbParameterReferenceExpression[] parameters)
        {
            Check.NotNull(query, "query");
            if (parameters != null)
            {
                IEnumerable <DbParameterReferenceExpression> paramsEnum = parameters;
                EntityUtil.CheckArgumentContainsNull(ref paramsEnum, "parameters");
            }

            var result = CqlQuery.Compile(query, _perspective, null /* parser options - use default */, parameters);

            return(result);
        }
        /// <summary>
        ///     Parse a specific query with a specific set variables and produce a
        ///     <see
        ///         cref="T:System.Data.Entity.Core.Common.CommandTrees.DbLambda" />
        ///     .
        /// </summary>
        /// <returns>
        ///     The <see cref="T:System.Data.Entity.Core.Common.EntitySql.ParseResult" /> containing
        ///     <see
        ///         cref="T:System.Data.Entity.Core.Common.CommandTrees.DbCommandTree" />
        ///     and information describing inline function definitions if any.
        /// </returns>
        /// <param name="query">The query to be parsed.</param>
        /// <param name="variables">The optional query variables.</param>
        public DbLambda ParseLambda(string query, params DbVariableReferenceExpression[] variables)
        {
            Check.NotNull(query, "query");
            if (variables != null)
            {
                IEnumerable <DbVariableReferenceExpression> varsEnum = variables;
                EntityUtil.CheckArgumentContainsNull(ref varsEnum, "variables");
            }

            var result = CqlQuery.CompileQueryCommandLambda(
                query, _perspective, null /* parser options - use default */, null /* parameters */, variables);

            return(result);
        }