Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure AggregationBinder #1378

Open
wants to merge 1 commit into
base: release-8.x
Choose a base branch
from

Conversation

gathogojr
Copy link
Contributor

Refactors AggregationBinder for extensibility.

The IAggregationBinder defines the following 3 methods that need to be implemented:

  • Expression BindGroupBy(TransformationNode, QueryBinderContext)
  • Expression BindSelect(TransformationNode, QueryBinderContext)
  • IQueryable FlattenReferencedProperties(TransformationNode, IQueryable, QueryBinderContext, out ParameterExpression, out IDictionary<SingleValueNode, Expression>

The AggregationBinder implements IAggregationBinder. This is the default implementation that is injected into the DI container.
The pull request also includes a TestAggregationBinder demonstrating how to a custom implementation of IAggregationBinder can be created and injected into the DI container. In addition, E2E tests have been added to confirm that the default and custom implementations of IAggregationBinder both achieve the same result. The E2E tests use an in-memory EF Core database.

@gathogojr gathogojr force-pushed the feature/aggregationbinder-restructure branch from f7eeb2e to d738dd3 Compare December 20, 2024 06:03
@gathogojr gathogojr force-pushed the feature/aggregationbinder-restructure branch from d738dd3 to 1e16908 Compare December 20, 2024 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants