A set of extensions for working with HotChocolate GraphQL and Database access with micro-orms such as RepoDb (or Dapper). This extension pack provides access to key elements such as Selections/Projections, Sort arguments, & Paging arguments in a significantly simplified facade so this logic can be leveraged in the Resolvers (and lower level Serivces/Repositories that encapsulate all data access) without dependency on IQueryable deferred execution (e.g. EntityFramework).
See the version list below for details.
Install-Package GraphQL.PreProcessingExtensions -Version 184.108.40.206
dotnet add package GraphQL.PreProcessingExtensions --version 220.127.116.11
<PackageReference Include="GraphQL.PreProcessingExtensions" Version="18.104.22.168" />
paket add GraphQL.PreProcessingExtensions --version 22.214.171.124
#r "nuget: GraphQL.PreProcessingExtensions, 126.96.36.199"
// Install GraphQL.PreProcessingExtensions as a Cake Addin #addin nuget:?package=GraphQL.PreProcessingExtensions&version=188.8.131.52 // Install GraphQL.PreProcessingExtensions as a Cake Tool #tool nuget:?package=GraphQL.PreProcessingExtensions&version=184.108.40.206
- Minor code cleanup and optimizations and removed duplicated validation.
- Eliminated dependency on Total Count to compute HasNextPage; this enalbed optimizing the paging algorthims in RepoDB (and other consuming libraries).
- Eliminate dependency on Generic Class type constraint for Paging as this is not a restriction of the HC Core, now primitive return types are supported.
- Enabled OffsetPaging parameters to be completely optional and default to retrieving all results, unless manually enforced by the Resolver or PagingMiddleware via PagingHandler (which is where HC core implements existing validation).
Prior Releases Notes:
- Add full support for Offset Paging in addition to CursorPaging; including Offset Paging models, extension methods to convert IEnumerable, etc.
- Added examples in the StarWars Azure Functions project using in-memory processing (RepoDb implementation is not complete).
- Added support to easily determine if TotalCount is selected (as it's a special case selection) to support potential performance optimizations within Resolver logic.
- Added more Unit test coverage for Selections, and Paging implmentations
- Bump version to HotChocolate v11.0.4.
- Add support for Argument Names, and AllArguments facade for easier detecting and working with Arguments.
- Add .ConfigureAwait(false) to all awaits for performance.
- Fix Namespace consistency (might be a breaking change due to some mixed naming)
- Fixed new issue due to changes in Sort arguments in HotChocolate core; sort arguments are resolved correctly again.
- Bump to HotChocolate v11.0.1 which now resolves a bug that we helped identify with interfaces in the initial release of v11.0.0.
- Provide ability to trace log out some details for the query, execution time, etc. Also improves support for cancellation token throughout DB calls and minor optimizations and cleanup.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on GraphQL.PreProcessingExtensions:
A set of extensions for working with HotChocolate GraphQL and RepoDb as the data access micro-orm without dependency on IQueryable. This enables fully encapsulated control over SQL queries in every way within a Service or Repository layer of your application. This extension pack provides a significantly simplified facade to access critial elements such as Selections/Projections, Sort arguments, & Paging arguments with support for mapping them to Models using built in RepoDb functionality. It also leverages RepoDb to provide a generic, Relay spec compatible, cursor pagination/slice query api for Sql Server.
This package is not used by any popular GitHub repositories.