예제 #1
0
        public void Test_12()
        {
            var item = new SqlItem("[a].[b]");

            Assert.Equal("[b]", item.Name);
            Assert.Equal("[a]", item.Prefix);
            Assert.Equal("[a].[b]", item.ToSql(new SqlServerDialect()));
            Assert.Equal("\"a\".\"b\"", item.ToSql(new PgSqlDialect()));
            Assert.Equal("`a`.`b`", item.ToSql(new MySqlDialect()));
        }
예제 #2
0
        public void Test_15()
        {
            var item = new SqlItem("[a.b].[c]");

            Assert.Equal("[c]", item.Name);
            Assert.Equal("[a.b]", item.Prefix);
            Assert.Equal("[a.b].[c]", item.ToSql(new SqlServerDialect()));
            Assert.Equal("\"a.b\".\"c\"", item.ToSql(new PgSqlDialect()));
            Assert.Equal("`a.b`.`c`", item.ToSql(new MySqlDialect()));
        }
예제 #3
0
        public void Test_4()
        {
            var item = new SqlItem("t . a   aS   b ");

            Assert.Equal("a", item.Name);
            Assert.Equal("t", item.Prefix);
            Assert.Equal("b", item.Alias);
            Assert.Equal("[t].[a] As [b]", item.ToSql(new SqlServerDialect()));
            Assert.Equal("[test].[t].[a] As [b]", item.ToSql(new SqlServerDialect(), _database));
        }
예제 #4
0
        public void Test_16()
        {
            var item = new SqlItem("a.b.c");

            Assert.Equal("c", item.Name);
            Assert.Equal("b", item.Prefix);
            Assert.Equal("a", item.DatabaseName);
            Assert.Equal("[a].[b].[c]", item.ToSql(new SqlServerDialect()));
            Assert.Equal("[a].[b].[c]", item.ToSql(new SqlServerDialect(), _database));
            Assert.Equal("\"a\".\"b\".\"c\"", item.ToSql(new PgSqlDialect()));
            Assert.Equal("`a`.`b`.`c`", item.ToSql(new MySqlDialect()));
        }
예제 #5
0
        /// <summary>
        /// 输出Sql
        /// </summary>
        public string ToSql()
        {
            var table = _item?.ToSql(_dialect);

            if (string.IsNullOrWhiteSpace(table))
            {
                return(null);
            }
            return($"From {table}");
        }
예제 #6
0
        /// <summary>
        /// 输出Sql
        /// </summary>
        public string ToSql()
        {
            var table = Table?.ToSql(Dialect, TableDatabase);

            if (string.IsNullOrWhiteSpace(table))
            {
                return(null);
            }
            return($"From {table}");
        }
예제 #7
0
        /// <summary>
        /// 获取列名列表
        /// </summary>
        /// <param name="dialect">Sql方言</param>
        /// <param name="register">实体别名注册器</param>
        public string ToSql(IDialect dialect, IEntityAliasRegister register)
        {
            if (Raw || IsAggregation)
            {
                return(dialect.GetColumn(Name, dialect.GetSafeName(ColumnAlias)));
            }
            var result = new SqlItem(Name, GetTableAlias(register), ColumnAlias, isResolve: false);

            return(result.ToSql(dialect));
        }
예제 #8
0
        /// <summary>
        /// 输出Sql
        /// </summary>
        /// <returns></returns>
        public string ToSql()
        {
            var table = Table?.ToSql(Dialect, TableDatabase);

            return(string.IsNullOrWhiteSpace(table) ? null : $"From {table}");
        }