protected override SqlCaluse Select(ParameterExpression exp, SqlCaluse sqlCaluse)
        {
            var t     = exp.Type;
            var props = t.GetProperties();

            sqlCaluse.SetTableAlias(t);
            var alia = sqlCaluse.GetTableAlias(t);

            foreach (PropertyInfo item in props)
            {
                if (item.GetAttribute <IgnoreAttribute>() != null)
                {
                    continue;
                }
                var col = item.GetAttribute <ColumnNameAttribute>();
                if (col == null)
                {
                    sqlCaluse.SelectFields.Add($"{alia}{item.Name}");
                }
                else
                {
                    sqlCaluse.SelectFields.Add($"{alia}{col.Name} {item.Name}");
                }
            }
            return(sqlCaluse);
        }
        private string FindValue(MemberExpression exp, SqlCaluse sqlCaluse)
        {
            if (exp.Expression.NodeType == ExpressionType.Parameter)
            {
                string tableAlias = sqlCaluse.GetTableAlias(exp.Member.DeclaringType);

                var attr = exp.Member.GetAttribute <ColumnNameAttribute>();
                if (attr == null)
                {
                    return(" " + tableAlias + exp.Member.Name);
                }
                else
                {
                    return(" " + tableAlias + attr.Name);
                }
            }
            else
            {
                //var v = exp.Expression as ConstantExpression;
                var v = Expression.Lambda(exp).Compile().DynamicInvoke();
                return(sqlCaluse.AddDbParameter(v));
            }
        }
        private string CustomHandle(MemberExpression exp, SqlCaluse sqlCaluse, bool aliaRequest = true)
        {
            var table = exp.Member.DeclaringType;

            sqlCaluse.SetTableAlias(table);
            var alias = sqlCaluse.GetTableAlias(table);
            var attr  = exp.Member.GetAttribute <ColumnNameAttribute>();

            if (attr != null)
            {
                if (aliaRequest)
                {
                    return($"{alias}{attr.Name} {exp.Member.Name}");
                }
                else
                {
                    return($"{alias}{attr.Name}");
                }
            }
            else
            {
                return($"{alias}{exp.Member.Name}");
            }
        }