DbUpdateExpression.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using Ant.Common;
  2. using Ant.Utility;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. namespace Ant.DbExpressions
  8. {
  9. /// <summary>
  10. ///
  11. /// </summary>
  12. public class DbUpdateExpression : DbExpression
  13. {
  14. /// <summary>
  15. ///
  16. /// </summary>
  17. /// <param name="table"></param>
  18. public DbUpdateExpression(DbTable table)
  19. : this(table, null)
  20. {
  21. }
  22. /// <summary>
  23. /// 获取解析更新SQL
  24. /// </summary>
  25. /// <param name="table"></param>
  26. /// <param name="condition"></param>
  27. public DbUpdateExpression(DbTable table, DbExpression condition)
  28. : base(DbExpressionType.Update, UtilConstants.TypeOfVoid)
  29. {
  30. AntUtils.CheckNull(table);
  31. this._table = table;
  32. this._condition = condition;
  33. this.UpdateColumns = new Dictionary<DbColumn, DbExpression>();
  34. }
  35. DbTable _table;
  36. /// <summary>
  37. /// 表名
  38. /// </summary>
  39. public DbTable Table
  40. {
  41. get { return this._table; }
  42. }
  43. /// <summary>
  44. /// 更新列
  45. /// </summary>
  46. public Dictionary<DbColumn, DbExpression> UpdateColumns
  47. {
  48. get; private set;
  49. }
  50. DbExpression _condition;
  51. /// <summary>
  52. /// 查询条件
  53. /// </summary>
  54. public DbExpression Condition
  55. {
  56. get { return this._condition; }
  57. }
  58. /// <summary>
  59. /// 解析成SQL语句
  60. /// </summary>
  61. /// <typeparam name="T"></typeparam>
  62. /// <param name="visitor"></param>
  63. /// <returns></returns>
  64. public override T Accept<T>(DbExpressionVisitor<T> visitor)
  65. {
  66. return visitor.Visit(this);
  67. }
  68. }
  69. }