ParameterReplacer.cs 706 B

123456789101112131415161718192021222324
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq.Expressions;
  4. using System.Text;
  5. namespace SqlSugar
  6. {
  7. internal class ParameterReplacer : ExpressionVisitor
  8. {
  9. private readonly string _oldParameterName;
  10. private readonly ParameterExpression _newParameter;
  11. public ParameterReplacer(string oldParameterName, ParameterExpression newParameter)
  12. {
  13. _oldParameterName = oldParameterName;
  14. _newParameter = newParameter;
  15. }
  16. protected override Expression VisitParameter(ParameterExpression node)
  17. {
  18. return node.Name == _oldParameterName ? _newParameter : base.VisitParameter(node);
  19. }
  20. }
  21. }