/// <summary>
        ///     Returns alias name from <paramref name="aliasedExpr" /> ast node if it contains an alias,
        ///     otherwise creates a new alias name based on the <paramref name="aliasedExpr" />.Expr or
        ///     <paramref
        ///         name="convertedExpression" />
        ///     information.
        /// </summary>
        internal string InferAliasName(AliasedExpr aliasedExpr, DbExpression convertedExpression)
        {
            if (aliasedExpr.Alias != null)
            {
                return(aliasedExpr.Alias.Name);
            }

            var id = aliasedExpr.Expr as Identifier;

            if (null != id)
            {
                return(id.Name);
            }

            var dotExpr = aliasedExpr.Expr as DotExpr;

            string[] names;
            if (null != dotExpr &&
                dotExpr.IsMultipartIdentifier(out names))
            {
                return(names[names.Length - 1]);
            }

            return(CreateNewAlias(convertedExpression));
        }
Esempio n. 2
0
        internal string InferAliasName(AliasedExpr aliasedExpr, DbExpression convertedExpression)
        {
            if (aliasedExpr.Alias != null)
            {
                return(aliasedExpr.Alias.Name);
            }
            Identifier expr1 = aliasedExpr.Expr as Identifier;

            if (expr1 != null)
            {
                return(expr1.Name);
            }
            DotExpr expr2 = aliasedExpr.Expr as DotExpr;

            string[] names;
            if (expr2 != null && expr2.IsMultipartIdentifier(out names))
            {
                return(names[names.Length - 1]);
            }
            return(this.CreateNewAlias(convertedExpression));
        }
 /// <summary>
 ///     Initializes as 'simple' aliased expression.
 /// </summary>
 internal FromClauseItem(AliasedExpr aliasExpr)
 {
     _fromClauseItemExpr = aliasExpr;
     _fromClauseItemKind = FromClauseItemKind.AliasedFromClause;
 }
 internal FromClauseItem(AliasedExpr aliasExpr)
 {
     this._fromClauseItemExpr = (Node)aliasExpr;
     this._fromClauseItemKind = FromClauseItemKind.AliasedFromClause;
 }
Esempio n. 5
0
 // <summary>
 // Initializes as 'simple' aliased expression.
 // </summary>
 internal FromClauseItem(AliasedExpr aliasExpr)
 {
     _fromClauseItemExpr = aliasExpr;
     _fromClauseItemKind = FromClauseItemKind.AliasedFromClause;
 }