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); }