To make a Relay compliant GraphQL server, you have to follow some specifications. Fortunately, GraphQL-Dotnet community has provided a library to take on the heavy burden.
GraphQL
A collection of 12 posts
GraphQL with .NET Core (Part - XI: Data Loader)
We have N + 1 problem in our solution. To overcome this problem, we introduce DataLoader. DataLoader adds support for batching and caching in your GraphQL queries.
GraphQL with .NET Core (Part - X: Execution Strategies)
By default, graphql-dotnet executes queries in parallel. Most of the time that's a desired behaviour. But there is a catch when a parent graph type has dependencies on a child graph type which also uses asynchronous task to resolve field values.
GraphQL with .NET Core (Part - IX: Many-Many Entity Relations)
By EF conventions, in a many-to-many relation, you have two standalone entities and a third entity between them which represents a relationship bridge.
GraphQL with .NET Core (Part - VIII: 1-Many Entity Relations)
You can configure entity relationship following entity framework conventions. Entity framework will auto-create a one-to-many relationship between entities if one of the entity contains a collection property of the second entity. This property is known as a navigation property.
GraphQL with .NET Core (Part - VII: Data Persistence)
This post focuses more on configuring a persistent data storage rather than discussing different aspects of GraphQL. With that being said, let's connect to an in-memory database for fake testing.
GraphQL with .NET Core (Part - VI: Queries & Mutations)
We've come to the point, where you should have a good understanding of GraphQL Queries already. Few things you should keep in mind though, A query should never change the value of a field. In other words, it should always fetch and never modify. Queries are executed in parallel.
GraphQL with .NET Core (Part - V: Fields, Arguments, Variables)
At its simplest, GraphQL is about asking for specific fields on objects. Let's extend our simple application to accommodate a complex type.