Our Black Friday discount is now LIVE! Use code BLACKFRIDAY24 to get 40% off any Course, Bundle or your first year of Dometrain Pro!

Getting Started: GraphQL in .NET

Get started with GraphQL in .NET using C#

Created at Facebook in 2012 and released as open-source software in 2015, GraphQL has proven that it is here to stay. GraphQL is one of the "Big Three" when it comes to building modern APIs (alongside REST and gRPC), and it is the approach of choice for many big companies like GitHub, Shopify and thousands more. GraphQL solves many problems that developers encounter when building traditional REST APIs, and it does it with fashion, sporting an elegant read and write approach as well as a unique way to subscribe to data changes. In this 7-and-a-half-hour course, Michael Staib, a GraphQL steering committee member and creator of the popular GraphQL library HotChocolate, will assume you have no knowledge on this topic and take you to a very decent level where you'll be able to build GraphQL .NET applications using C#.

Curriculum

Welcome (1:38)

What will you learn in this course? (2:07)

Who is the course for and prerequisites (0:59)

Why GraphQL? (6:06)

Lets have a look at GraphQL (6:30)

GraphQL operation structure explained (3:15)

A quick look at the GraphQL transport protocols (7:24)

Lets create our first GraphQL server! (5:03)

The annotation-based schema building approach (1:49)

An exploration of the GraphQL type system (1:27)

GraphQL Object Types (3:07)

GraphQL Interface Types (4:10)

GraphQL Union Types (2:57)

GraphQL Enum Type (3:54)

GraphQL Input Objects (1:56)

GraphQL OneOf Inputs (2:30)

Getting Started with Entity Framework (9:36)

Using GraphQL projections with Entity Framework (3:28)

Field Middleware Explained (9:06)

Paging in GraphQL (13:09)

Filtering (12:52)

Filtering and Sorting (12:08)

Exploring Schema Building Approaches (11:00)

Introduction (1:20)

Building with Type Modules and automatic type registration (6:10)

Splitting Root Types (2:40)

Cursor Pagination in a layered architectures (9:24)

Using type extensions in Hot Chocolate (5:30)

Introduction to DataLoader (14:50)

Using DataLoader with nested Paging (10:46)

Introduction to GraphQL query patterns (9:11)

The Entity pattern (9:16)

Working with composite keys (14:58)

Exposing internal identifiers (0:44)

GraphQL Errors and Non-Nullability explained (5:43)

Throwing Custom GraphQL Errors (5:12)

Using Domain Errors in GraphQL Queries (11:07)

Introduction to GraphQL mutations (5:09)

Implementing a basic mutation (6:12)

Mutation design principals (8:12)

Mutation conventions (4:58)

Error patterns for GraphQL mutations (15:26)

Implementing Patch Mutations (5:23)

Handling File Uploads with GraphQL (13:22)

Introduction to GraphQL subscriptions (5:53)

Implementing a basic subscription (13:02)

Implementing a basic chat (14:29)

Keeping state with replayable events (17:31)

Longruninng Mutations (11:25)

Introduction (3:19)

Schema as an artifact (9:43)

Schema export CLI (4:19)

What is a GraphQL schema registry? (1:31)

Setting up the schema registry (10:39)

Setting up a CI build with the schema registry (7:17)

Setting up a deployment build with the schema registry (9:53)

Setting up a client registry (14:46)

Introduction (0:56)

Setting up aspire for developer telemetry (5:57)

Adding Hot Chocolate Telemetry (6:12)

Add Production Telemetry (14:01)

Instrumentation Options (1:46)

Custom Spans (3:25)

Course Info

Level:
Getting Started
Duration:
7h 28m
Rating (1,8K+):
star

Lifetime access

Add to Cart
Dometrain Pro

Want access to all of our courses? Subscribe to Dometrain Pro!

Try it for free!

About the Author

author_img

Michael Staib

Michael is a member of the GraphQL technical steering committee, contributing to the GraphQL composite schema specification under the GraphQL Foundation. He is a Microsoft MVP and the author of the Hot Chocolate GraphQL Server for .NET. Michael frequently speaks at conferences and trains professionals in the .NET and GraphQL ecosystems, sharing his expertise and passion for these technologies.

More courses by Michael Staib