public override string Translate(LambdaExpression expr)
        {
            var newExpr = expr.Body as NewExpression;

            if (newExpr != null)
            {
                foreach (var member in newExpr.Members)
                {
                    _mapContainer.SetAlias(member.Name);
                }
            }
            Visit(expr.Body);
            //判断是否为多表操作,如果是多表操作则设置
            bool multiple = expr.Parameters.Count > 0;

            TranslatorDelegate.SetMultipleType();
            foreach (var item in _mapContainer.MemberAliasMaps)
            {
                if (multiple)
                {
                    SqlBuilder.Append($"`{TranslatorDelegate.GetTypeAlias(item.Member.DeclaringType)}`.");
                }
                SqlBuilder.Append($"`{TranslatorDelegate.GetMemberMap(item.Member)}] AS [{item.Alias}`,");
            }
            SqlBuilder.Remove(SqlBuilder.Length - 1, 1);
            return(SqlBuilder.ToString());
        }
        public override string Translate(LambdaExpression expr)
        {
            var newExpr = expr.Body as NewExpression;

            if (newExpr != null)
            {
                foreach (var member in newExpr.Members)
                {
                    _mapContainer.SetAlias(member.Name);
                }
            }
            Visit(expr.Body);
            SqlBuilder.Append($" GROUP BY");
            foreach (var item in _mapContainer.MemberAliasMaps)
            {
                if (TranslatorDelegate.IsMultipleType())
                {
                    _groupByBuilder.Append($"`{TranslatorDelegate.GetTypeAlias(item.Member.DeclaringType)}`.");
                }
                _groupByBuilder.Append($"`{TranslatorDelegate.GetMemberMap(item.Member)}`,");
            }
            _groupByBuilder.Remove(SqlBuilder.Length - 1, 1);
            SqlBuilder.Append(_groupByBuilder);
            return(SqlBuilder.ToString());
        }