Working with HttpClient is kind of low-level stuff. Refit eases that problem for us. It creates an abstraction over HttpClient and allows us to work with an interface representing REST endpoints
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.
My Notebook: Redux & NGRX
Application state is subjected to change. A reducer is a pure function that takes the current state and an action been dispatched upon it. Depending on the action type it produces a new state and returns it. States are immutable.
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.