public Expression2SqlCore <T> Select <T2, T3>(Expression <Func <T, T2, T3, object> > expression = null)
        {
            var sql = SelectParser(typeof(T), typeof(T2), typeof(T3));

            if (expression == null)
            {
                _sqlPack.Sql.AppendFormat(sql, "*");
            }
            else
            {
                Expression2SqlProvider.Select(expression.Body, _sqlPack);
                _sqlPack.Sql.AppendFormat(sql, _sqlPack.SelectFieldsStr);
            }

            return(this);
        }
        public Expression2SqlCore <T> Select <T2, T3, T4, T5, T6, T7, T8, T9, T10>(
            Expression <Func <T, T2, T3, T4, T5, T6, T7, T8, T9, T10, object> > expression = null)
        {
            var sql = SelectParser(typeof(T), typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7),
                                   typeof(T8), typeof(T9), typeof(T10));

            if (expression == null)
            {
                _sqlPack.Sql.AppendFormat(sql, "*");
            }
            else
            {
                Expression2SqlProvider.Select(expression.Body, _sqlPack);
                _sqlPack.Sql.AppendFormat(sql, _sqlPack.SelectFieldsStr);
            }

            return(this);
        }