SqlQueryBuilder.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. namespace SqlSugar
  7. {
  8. public class SqlQueryBuilder : IDMLBuilder
  9. {
  10. #region Fields
  11. private string _Fields;
  12. private StringBuilder _Sql;
  13. private List<SugarParameter> _Parameters;
  14. #endregion
  15. #region Properties
  16. public SqlSugarProvider Context { get; set; }
  17. public string Fields
  18. {
  19. get
  20. {
  21. if (this._Fields.IsNullOrEmpty())
  22. {
  23. this._Fields = Regex.Match(this.sql.ObjToString().Replace("\n", string.Empty).Replace("\r", string.Empty).Trim(), @"select(.*?)from", RegexOptions.IgnoreCase).Groups[1].Value;
  24. if (this._Fields.IsNullOrEmpty())
  25. {
  26. this._Fields = "*";
  27. }
  28. }
  29. return this._Fields;
  30. }
  31. set
  32. {
  33. _Fields = value;
  34. }
  35. }
  36. public StringBuilder sql
  37. {
  38. get
  39. {
  40. _Sql = UtilMethods.IsNullReturnNew(_Sql);
  41. return _Sql;
  42. }
  43. set
  44. {
  45. _Sql = value;
  46. }
  47. }
  48. public string SqlTemplate
  49. {
  50. get
  51. {
  52. return null;
  53. }
  54. }
  55. public List<SugarParameter> Parameters
  56. {
  57. get
  58. {
  59. _Parameters = UtilMethods.IsNullReturnNew(_Parameters);
  60. return _Parameters;
  61. }
  62. set
  63. {
  64. _Parameters = value;
  65. }
  66. }
  67. #endregion
  68. #region Methods
  69. public string ToSqlString()
  70. {
  71. return sql.ToString();
  72. }
  73. public void Clear()
  74. {
  75. this.sql = null;
  76. }
  77. #endregion
  78. }
  79. }