SqlServerBuilder.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7. namespace SqlSugar
  8. {
  9. public class SqlServerBuilder : SqlBuilderProvider
  10. {
  11. public override string SqlTranslationLeft { get { return "["; } }
  12. public override string SqlTranslationRight { get { return "]"; } }
  13. public override string RemoveParentheses(string sql)
  14. {
  15. if (sql.Contains("ORDER BY")&&!sql.StartsWith("(SELECT TOP 1")&&!sql.Contains("(SELECT TOP 1000000"))
  16. {
  17. sql = $"SELECT * FROM {sql.Replace("(SELECT ", "(SELECT TOP 1000000")} TEMP";
  18. }
  19. else if (sql.Contains("ORDER BY") && sql.StartsWith("(SELECT TOP 1"))
  20. {
  21. sql = $"SELECT * FROM ({ sql}) TEMP";
  22. }
  23. return sql;
  24. }
  25. public override void ChangeJsonType(SugarParameter paramter)
  26. {
  27. if (paramter.DbType == System.Data.DbType.AnsiString)
  28. {
  29. paramter.DbType = System.Data.DbType.String;
  30. }
  31. }
  32. }
  33. }