Skip to content

feat(query): support multiple sort fields with comma separator#13

Merged
willysoft merged 1 commit intomainfrom
feature/multi-field-sorting
Jan 27, 2026
Merged

feat(query): support multiple sort fields with comma separator#13
willysoft merged 1 commit intomainfrom
feature/multi-field-sorting

Conversation

@willysoft
Copy link
Copy Markdown
Owner

  • Allow sorting by multiple fields using comma-separated values (e.g., "Id,-Name")
  • Use OrderBy for first field and ThenBy for subsequent fields
  • Prefix "-" indicates descending order for each field
  • Update unit tests to verify multi-field sorting behavior
  • Add test query configuration and options for demo

CLOSES #12

- Allow sorting by multiple fields using comma-separated values (e.g., "Id,-Name")
- Use OrderBy for first field and ThenBy for subsequent fields
- Prefix "-" indicates descending order for each field
- Update unit tests to verify multi-field sorting behavior
- Add test query configuration and options for demo
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the query sorting functionality to support multiple sort fields with individual sort directions, addressing issue #12. Users can now specify comma-separated field names in the sort parameter, with each field optionally prefixed with "-" for descending order.

Changes:

  • Modified ApplySort method to parse comma-separated sort fields and apply OrderBy for the first field and ThenBy for subsequent fields
  • Updated and expanded unit tests to verify multi-field sorting with various combinations of ascending and descending directions
  • Added demo query options and configuration classes to illustrate the feature

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
src/AutoQuery/Extensions/QueryExtensions.cs Refactored sorting logic to split comma-separated fields, iterate through them, and apply OrderBy/ThenBy based on position and direction
test/AutoQuery.Tests/Extensions/QueryExtensionsTests.cs Updated test signature to verify both Id and Name, added three new test cases covering multi-field sorting scenarios
sample/AutoQueryApiDemo/Models/TestUserQueryOptions.cs Added demo query options class with email filter and standard query parameters
sample/AutoQueryApiDemo/Configurations/TestUserQueryConfiguration.cs Added demo configuration showing email filter setup

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@willysoft willysoft merged commit 67f342e into main Jan 27, 2026
10 checks passed
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.2.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@willysoft willysoft deleted the feature/multi-field-sorting branch January 28, 2026 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhance sorting to support multiple fields with individual sort directions

2 participants