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:

Bash
dotnet add package HotChocolate.Data.Marten
Warning
All HotChocolate.* packages need to have the same version.

Filtering#

Register the Marten filtering convention on the schema builder:

C#
builder
    .AddGraphQL()
    .AddQueryType<Query>()
    .AddMartenFiltering();

Learn more about filtering.

Sorting#

Register the Marten sorting convention on the schema builder:

C#
builder
    .AddGraphQL()
    .AddQueryType<Query>()
    .AddMartenSorting();

Learn more about sorting.

Projections#

Projections work out of the box with Marten. No custom configuration is needed.

Learn more about projections.

Paging#

Pagination works out of the box with Marten. No custom configuration is needed.

Learn more about pagination.

Next Steps#

Edit this page on GitHub
Last updated on by Tobias Tengler