You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

81 lines
1.9 KiB

using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace SqlSugar
{
public class SqlQueryBuilder : IDMLBuilder
{
#region Fields
private string _Fields;
private StringBuilder _Sql;
private List<SugarParameter> _Parameters;
#endregion
#region Properties
public SqlSugarClient Context { get; set; }
public string Fields
{
get
{
if (this._Fields.IsNullOrEmpty())
{
this._Fields = Regex.Match(this.sql.ObjToString().Replace("\n", string.Empty).Replace("\r", string.Empty).Trim(), @"select(.*?)from", RegexOptions.IgnoreCase).Groups[1].Value;
if (this._Fields.IsNullOrEmpty())
{
this._Fields = "*";
}
}
return this._Fields;
}
set
{
_Fields = value;
}
}
public StringBuilder sql
{
get
{
_Sql = UtilMethods.IsNullReturnNew(_Sql);
return _Sql;
}
set
{
_Sql = value;
}
}
public string SqlTemplate
{
get
{
return null;
}
}
public List<SugarParameter> Parameters
{
get
{
_Parameters = UtilMethods.IsNullReturnNew(_Parameters);
return _Parameters;
}
set
{
_Parameters = value;
}
}
#endregion
#region Methods
public string ToSqlString()
{
return sql.ToString();
}
public void Clear()
{
this.sql = null;
}
#endregion
}
}