Exemplo n.º 1
0
 /// <summary>
 /// 获取处理后的列名
 /// </summary>
 /// <param name="column">列名</param>
 /// <param name="type">实体类型</param>
 /// <returns></returns>
 public string GetColumn(string column, Type type)
 {
     if (string.IsNullOrWhiteSpace(column))
     {
         return(column);
     }
     return(new SqlItem(column, _register.GetAlias(type)).ToSql(_dialect));
 }
 /// <summary>
 /// 获取表别名
 /// </summary>
 /// <param name="register">实体别名注册器</param>
 /// <returns></returns>
 private string GetTableAlias(IEntityAliasRegister register)
 {
     if (register.Contains(Table))
     {
         return(register.GetAlias(Table));
     }
     return(TableAlias);
 }
Exemplo n.º 3
0
 /// <summary>
 /// 获取前缀
 /// </summary>
 private string GetPrefix(IEntityAliasRegister register)
 {
     if (string.IsNullOrWhiteSpace(Prefix) == false)
     {
         return(Prefix);
     }
     return(register.GetAlias(Type));
 }
Exemplo n.º 4
0
 /// <summary>
 /// 分组
 /// </summary>
 /// <typeparam name="TEntity">实体类型</typeparam>
 /// <param name="column">分组字段</param>
 /// <param name="having">分组条件</param>
 public void GroupBy <TEntity>(Expression <Func <TEntity, object> > column, string having = null)
 {
     if (column == null)
     {
         return;
     }
     _group.Add(new SqlItem(_resolver.GetColumn(column), _register.GetAlias(typeof(TEntity))));
     _having = having;
 }
Exemplo n.º 5
0
        /// <summary>
        /// 获取Sql
        /// </summary>
        /// <param name="dialect">Sql方言</param>
        /// <param name="register">实体别名注册器</param>
        public string ToSql(IDialect dialect, IEntityAliasRegister register)
        {
            if (Raw)
            {
                return(Column);
            }
            var name       = new NameItem(Column);
            var tableAlias = register.GetAlias(Entity);

            return($"{name.ToSql( dialect, tableAlias )} {( Desc ? "Desc" : null )}".TrimEnd());
        }
Exemplo n.º 6
0
 /// <summary>
 /// 获取列名
 /// </summary>
 /// <param name="column">列名</param>
 /// <param name="type">实体类型</param>
 /// <returns></returns>
 private string GetColumn(string column, Type type)
 {
     return(new SqlItem(column, _register.GetAlias(type)).ToSql(_dialect));
 }
Exemplo n.º 7
0
 /// <summary>
 /// 获取列
 /// </summary>
 private string GetColumn(Type entity, string column)
 {
     return($"{_register.GetAlias(entity)}.{column}");
 }
Exemplo n.º 8
0
 /// <summary>
 /// 获取表别名
 /// </summary>
 /// <param name="register">实体别名注册器</param>
 private string GetTableAlias(IEntityAliasRegister register) => register != null && register.Contains(TableType) ? register.GetAlias(TableType) : TableAlias;
Exemplo n.º 9
0
 /// <summary>
 /// 获取列
 /// </summary>
 /// <param name="entity">实体类型</param>
 /// <param name="column">列名</param>
 private string GetColumn(Type entity, string column) => $"{_register.GetAlias(entity)}.{column}";