DbExpressionTranslator.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Ant.Core;
  2. using Ant.Data;
  3. using Ant.DbExpressions;
  4. using Ant.Infrastructure;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace Ant.Oracle
  11. {
  12. class DbExpressionTranslator : IDbExpressionTranslator
  13. {
  14. public static readonly DbExpressionTranslator Instance = new DbExpressionTranslator();
  15. public string Translate(DbExpression expression, out List<DbParam> parameters)
  16. {
  17. SqlGenerator generator = SqlGenerator.CreateInstance();
  18. expression.Accept(generator);
  19. parameters = generator.Parameters;
  20. string sql = generator.SqlBuilder.ToSql();
  21. return sql;
  22. }
  23. }
  24. class DbExpressionTranslator_ConvertToUppercase : IDbExpressionTranslator
  25. {
  26. public static readonly DbExpressionTranslator_ConvertToUppercase Instance = new DbExpressionTranslator_ConvertToUppercase();
  27. public string Translate(DbExpression expression, out List<DbParam> parameters)
  28. {
  29. SqlGenerator_ConvertToUppercase generator = new SqlGenerator_ConvertToUppercase();
  30. expression.Accept(generator);
  31. parameters = generator.Parameters;
  32. string sql = generator.SqlBuilder.ToSql();
  33. return sql;
  34. }
  35. }
  36. }