コード例 #1
0
        internal string DiscoverName(SqlExpression e)
        {
            if (e != null)
            {
                string name;
                switch (e.NodeType)
                {
                case SqlNodeType.Column:
                    name = DiscoverName(((SqlColumn)e).Expression);
                    return(name);

                case SqlNodeType.ColumnRef:
                {
                    var ref2 = (SqlColumnRef)e;
                    if (ref2.Column.Name != null)
                    {
                        return(ref2.Column.Name);
                    }
                    name = DiscoverName(ref2.Column);
                    return(name);
                }

                case SqlNodeType.ExprSet:
                {
                    var set = (SqlExprSet)e;
                    name = DiscoverName(set.Expressions[0]);
                    return(name);
                }
                }
            }
            return(ConstColumns.GetValue(mode));
        }
コード例 #2
0
 public SqlNamer(SqlProvider.ProviderMode mode)
 {
     visitor   = new Visitor(this);
     this.mode = mode;
     c         = new ConstColumns(mode);
 }
コード例 #3
0
 // Methods
 internal Visitor(SqlNamer sqlNamer)
 {
     this.sqlNamer = sqlNamer;
     c             = new ConstColumns(sqlNamer.mode);
 }