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

Add support for aggregation queries as defined in the OData aggregation Spec #6

Closed
wants to merge 4 commits into from

Conversation

manukahn
Copy link

@manukahn manukahn commented Oct 9, 2014

We have extended the Syatem.Web.OData project to provide support for aggregation queries on top of OData.
Now It is possible to parse aggregation queries and create the required objects for ASP.NET to implement OData aggregation

@azurecla
Copy link

azurecla commented Oct 9, 2014

Hi @manukahn, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!

The agreement was validated by Microsoft and real humans are currently evaluating your PR.

TTYL, AZPRBOT;

@manukahn manukahn changed the title Add support for aggregation queries as defined in the OData aggregation ... Add support for aggregation queries as defined in the OData aggregation Spec Oct 9, 2014
@xuubin
Copy link

xuubin commented Oct 28, 2014

Hi Manukahn,

First of all, thanks for your contribution. The code looks great, it implements the groupby, filter and aggreate in an elegant way.

We have put some comment in your code, could you take a look?

And since aggregation is an extension to the OData, we think that it may be a good way if we can
seperate the aggregation code into a different namespace and assembly, so people can choose to include it or not, and can implement their own one according to their business requirement.

To support this kind of extension, some internal classes and methods must be made public so the thiry dll can extend the UriParser and make use of the existing parse code. Specifically, these needs to be public:

  1. The ODataQueryOptionParser propery in ODataUriParser.
  2. The intern class ODataUriParserConfiguration.
  3. The states in ODataQueryOptionParser, like TargetNavigationSource, TargetEdmType, QueryOptions etc.
  4. Some internal methods used to parse filter expression.

We have open a github issue to make these changes, and after that, the ParseApply can be implemented as an extension method to the ODataUriParser, and the code can host in a seperate namespace and dll.

@congysu congysu added this to the 6.12 or Later milestone Mar 9, 2015
@xuubin xuubin force-pushed the master branch 2 times, most recently from c9eb44e to b9b95ad Compare March 30, 2015 11:22
@xuubin
Copy link

xuubin commented Apr 15, 2015

Hi @manucohenyashar, we've opened an issue 8 to make ODataUriParser extendable to parse apply and other extensions, after that, you can use public methods of ODataUriParser to support the aggregate functionality. We also welcome the contribution to issue 8.

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.

None yet

6 participants