GroupingQueryExpression.cs 1.1 KB

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Linq.Expressions;
  5. using System.Text;
  6. namespace Ant.Query.QueryExpressions
  7. {
  8. class GroupingQueryExpression : QueryExpression
  9. {
  10. List<LambdaExpression> _groupPredicates = new List<LambdaExpression>();
  11. List<LambdaExpression> _havingPredicates = new List<LambdaExpression>();
  12. LambdaExpression _selector;
  13. public GroupingQueryExpression(Type elementType, QueryExpression prevExpression, LambdaExpression selector)
  14. : base(QueryExpressionType.GroupingQuery, elementType, prevExpression)
  15. {
  16. this._selector = selector;
  17. }
  18. public List<LambdaExpression> GroupPredicates { get { return this._groupPredicates; } }
  19. public List<LambdaExpression> HavingPredicates { get { return this._havingPredicates; } }
  20. public LambdaExpression Selector { get { return this._selector; } }
  21. public override T Accept<T>(QueryExpressionVisitor<T> visitor)
  22. {
  23. return visitor.Visit(this);
  24. }
  25. }
  26. }