Пример #1
0
        public override string ToString()
        {
            var helper = _util.QueryHelper <TFSSubEntity>();

            var field = FieldExpr != null
                ? helper.Prop(FieldExpr)
                : Field;

            if (FieldModifier != null)
            {
                field = FieldModifier(field);
            }

            var branchCondition = helper.ExtendBranchCondition();

            var from = FromExpr != null?helper.Table(FromExpr) : helper.Table();


            if (branchCondition.HasValue())
            {
                Conditions.Add(branchCondition);
            }

            if (!from.StartsWith(" FROM ", StringComparison.InvariantCultureIgnoreCase))
            {
                from = " FROM " + from;
            }

            var where = Relations.Concat(Conditions).Join(" AND ");
            if (!where.HasValue())
            {
                where = " 1 = 1 ";
            }

            var query = $"SELECT {field} {from} {Alias} WHERE {where}";

            if (Alias.HasValue())
            {
                query = query.Replace($" {from}.", $" {Alias}.");
            }

            return(query);
        }