See the latest stable version instead.
Marten
Learn how to integrate Marten with Hot Chocolate v16 for filtering, sorting, projections, and pagination.
The HotChocolate.Data package generally works with any LINQ provider that provides an IQueryable<T>. However, Marten requires special handling. Pagination and projections work out of the box, but filtering and sorting need LINQ expressions translated into a format that the Marten LINQ provider can process. This integration provides custom configurations for that purpose.
You can find a sample project in Hot Chocolate Examples.
Get Started
Install the HotChocolate.Data.Marten package:
dotnet add package HotChocolate.Data.MartenHotChocolate.* packages need to have the same version.Filtering
Register the Marten filtering convention on the schema builder:
builder .AddGraphQL() .AddQueryType<Query>() .AddMartenFiltering();
Sorting
Register the Marten sorting convention on the schema builder:
builder .AddGraphQL() .AddQueryType<Query>() .AddMartenSorting();
Projections
Projections work out of the box with Marten. No custom configuration is needed.
Paging
Pagination works out of the box with Marten. No custom configuration is needed.
Next Steps
- Filtering for filtering concepts
- Sorting for sorting concepts
- Pagination for pagination setup