Skip to content

Conversation

@Odonno
Copy link
Contributor

@Odonno Odonno commented Aug 4, 2025

Thank you for submitting this pull request! We appreciate you spending the time to work on these changes.

What is the motivation?

Fixes #61

What does this change do?

Creates a Query Builder that supports the built-in IQueryable<T> interface of .NET.

  • Trade IEnumerable<T> for IQueryable<T> for Select method
  • Convert IQueryable into a query string when lazily called (or parameterized query string when parameters are detected)
  • Support most common Linq methods (Select, SelectMany, Where, OrderBy, Take, Skip, GroupBy, Min/Max/Sum/Average/Count, Distinct, Contains, First/Last/Single, Any/All)
  • Add Async methods, following the EF async extensions to improve performance (no sync locking)
  • Add a variety of tests (to avoid possible regression in the future)

What is your testing strategy?

Unit & integration tests

Is this related to any issues?

N/A

Have you read the Contributing Guidelines?

@Odonno Odonno force-pushed the feat/iqueryable-select-v2 branch from e6601be to 1621d8b Compare August 5, 2025 18:52
@Odonno Odonno force-pushed the feat/iqueryable-select-v2 branch from bc3a4e9 to 954d331 Compare August 5, 2025 19:27
@codecov
Copy link

codecov bot commented Aug 15, 2025

Codecov Report

❌ Patch coverage is 59.71627% with 1221 lines in your changes missing coverage. Please review.
✅ Project coverage is 60.37%. Comparing base (6fd2105) to head (a4098d2).
⚠️ Report is 68 commits behind head on main.

Files with missing lines Patch % Lines
...s/Queryable/Expressions/Surreal/ValueExpression.cs 34.61% 439 Missing and 3 partials ⚠️
...ryable/Visitors/QueryGeneratorExpressionVisitor.cs 58.39% 198 Missing and 20 partials ⚠️
SurrealDb.Net/Internals/Helpers/TypeHelper.cs 0.00% 150 Missing ⚠️
...nternals/Queryable/Expressions/Surreal/Operator.cs 22.03% 90 Missing and 2 partials ⚠️
...e/Expressions/Intermediate/ProjectionExpression.cs 53.04% 51 Missing and 3 partials ⚠️
...ls/Queryable/Expressions/Surreal/PartExpression.cs 34.21% 50 Missing ⚠️
...ryable/Visitors/ToIntermediateExpressionVisitor.cs 94.66% 20 Missing and 14 partials ⚠️
...b.Net/Internals/Extensions/ExpressionExtensions.cs 61.11% 16 Missing and 5 partials ⚠️
...alDb.Net/Internals/Queryable/SurrealDbQueryable.cs 70.83% 8 Missing and 6 partials ⚠️
...b.Net/Internals/Extensions/ReflectionExtensions.cs 64.86% 10 Missing and 3 partials ⚠️
... and 38 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #207      +/-   ##
==========================================
- Coverage   69.65%   60.37%   -9.29%     
==========================================
  Files         161      243      +82     
  Lines        6702    14242    +7540     
  Branches      775     1787    +1012     
==========================================
+ Hits         4668     8598    +3930     
- Misses       1689     4925    +3236     
- Partials      345      719     +374     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

IQueryable Select

1 participant