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