Marten
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